aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2014-11-19 19:45:04 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2014-11-19 19:47:33 +0900
commitf902de616e948b7ab5e88b9547b8302d2bb131a1 (patch)
tree9df76ecff024b56ab7c0866f2e2e9a251ed777f2
parentRevert "Evas: Set image load_error after load" (diff)
downloadefl-f902de616e948b7ab5e88b9547b8302d2bb131a1.tar.gz
Evas: Check load_error before loading again (GL)
This is a new attempt at avoiding reload of an image that failed to load during async preload. See 42d2f8a12b4706b79e7cf16162d34f259bdc23d4 (reverted). I still can't figure out why setting load_error does not work as expected (E pager becomes blank).
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_image.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c b/src/modules/evas/engines/gl_common/evas_gl_image.c
index 9e852bbced..88692ba177 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -821,7 +821,7 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, Evas_GL_Image *im)
}
ie->flags.updated_data = 0;
}
- if (!im->tex)
+ else if (!im->tex && !ie->load_error)
{
#ifdef EVAS_CSERVE2
if (evas_cache2_image_cached(ie))
@@ -848,7 +848,7 @@ evas_gl_common_image_update(Evas_Engine_GL_Context *gc, Evas_GL_Image *im)
evas_gl_common_texture_rgb_a_pair_update(im->tex, im->im);
evas_cache_image_unload_data(ie);
}
- else if ((!im->tex))
+ else if (!im->tex && !ie->load_error)
{
evas_cache_image_load_data(ie);
im->tex = evas_gl_common_texture_rgb_a_pair_new(gc, im->im);