async render -> alpha set. if not visible dont WAIT. do it now.
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 16 Oct 2013 15:00:05 +0000 (00:00 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 16 Oct 2013 15:00:05 +0000 (00:00 +0900)
src/modules/ecore_evas/engines/x/ecore_evas_x.c

index 627dd15..69e0709 100644 (file)
@@ -2284,10 +2284,15 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
      {
         if (ee->in_async_render)
           {
-             ee->delayed.alpha = alpha;
-             ee->delayed.alpha_changed = EINA_TRUE;
-             return;
+             if (ee->visible)
+               {
+                  ee->delayed.alpha = alpha;
+                  ee->delayed.alpha_changed = EINA_TRUE;
+                  return;
+               }
           }
+        if (ee->in_async_render)
+        evas_sync(ee->evas);  
         _alpha_do(ee, alpha);
      }
    else if (!strcmp(ee->driver, "opengl_x11"))