Ecore evas: fix rotation lockup problem when application's window is unmapped
authorGwanglim Lee <gl77.lee@samsung.com>
Thu, 3 Nov 2011 08:10:40 +0000 (17:10 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Thu, 3 Nov 2011 08:10:40 +0000 (17:10 +0900)
src/lib/ecore_evas/ecore_evas_x.c

index 9b12106..3597596 100644 (file)
@@ -1674,8 +1674,15 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize)
      }
 
 #if _USE_WIN_ROT_EFFECT
-  _ecore_evas_x_rotation_effect_setup();
-  _ecore_evas_x_flush_pre(ee, NULL, NULL);
+   if ((ee->visible) &&
+       ((ecore_x_e_comp_sync_supported_get(ee->engine.x.win_root)) &&
+        (!ee->no_comp_sync) && (_ecore_evas_app_comp_sync)) &&
+        (ee->engine.x.sync_counter) &&
+        (ee->engine.x.sync_val > 0))
+     {
+        _ecore_evas_x_rotation_effect_setup();
+        _ecore_evas_x_flush_pre(ee, NULL, NULL);
+     }
 #endif /* end of _USE_WIN_ROT_EFFECT */
 }