rotation: added code to stop compositing until the rotation effect starts 67/118767/1
authorGwanglim Lee <gl77.lee@samsung.com>
Tue, 14 Mar 2017 04:17:27 +0000 (13:17 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Tue, 14 Mar 2017 04:17:27 +0000 (13:17 +0900)
Change-Id: I38bb5bdfe0934fc765becbb0050ffb515fe207d5

src/e_mod_effect_rotation.c

index ffb203e..d34f989 100644 (file)
@@ -674,6 +674,11 @@ _rotation_effect_start(Rotation_Effect *effect)
    if ((!effect->ctx_begin) || (!effect->ctx_end)) return;
    if (effect->running) return;
 
+   /* now, we're going to start rotation effect.
+    * so, unblock updating canvas (compositing mode)
+    */
+   e_comp_canvas_norender_pop();
+
    EFFINF("Rotation Effect Start", NULL, NULL);
 
    effect->running = EINA_TRUE;
@@ -713,6 +718,12 @@ _rotation_effect_animator_begin_prepare(Rotation_Effect *effect, E_Desk *desk)
 
    /* add hwc override */
    e_comp_override_add();
+
+   /* block updating canvas (compositing mode) to avoid showing rotated window that
+    * could be outputted to the screen before starting rotation effect.
+    * it will be unset when the rotation effect starts.
+    */
+   e_comp_canvas_norender_push();
 }
 
 static void