jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=777f7f20479afd3322f02a1db2125cd8f2c1c5a0

commit 777f7f20479afd3322f02a1db2125cd8f2c1c5a0
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Wed Jun 3 11:02:44 2015 +0900

    Evas masking: Fix rare issue of invalid rendering (GL)
    
    Thanks Dongyeon for finding out this solution. Now that was
    one nasty bug :)
    
    Somehow the currently bound texture id would not match what
    Evas expected, so Evas would not call glBindTexture when
    required. As a result it was drawing black (sampling from tex 0).
    
    @fix
---
 src/modules/evas/engines/gl_generic/evas_engine.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index 34d3f45..63fe2d8 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -1190,6 +1190,13 @@ eng_image_scaled_update(void *data EINA_UNUSED, void 
*scaled, void *image,
        (dst->w == dst_w) && (dst->h == dst_h))
      return dst;
 
+   evas_gl_common_image_update(gc, src);
+   if (!src->tex)
+     {
+        ERR("No source texture.");
+        return NULL;
+     }
+
    if (dst)
      {
         if (dst->scaled.origin == src)
@@ -1206,12 +1213,6 @@ eng_image_scaled_update(void *data EINA_UNUSED, void 
*scaled, void *image,
           }
         evas_gl_common_image_free(dst);
      }
-   evas_gl_common_image_update(gc, src);
-   if (!src->tex)
-     {
-        ERR("No source texture.");
-        return NULL;
-     }
 
    dst = calloc(1, sizeof(Evas_GL_Image));
    if (!dst) return NULL;

-- 


Reply via email to