Added logic to send rotation done message to wm, even if window is already rotated... 2.1b_release accepted/tizen_2.1/20130426.150217 submit/tizen_2.1/20130426.145416
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 26 Apr 2013 10:32:04 +0000 (19:32 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Fri, 26 Apr 2013 11:18:35 +0000 (20:18 +0900)
Change-Id: I8b83a3476c744f5cb22889c8c1428d829bdd9899

src/lib/ecore_evas/ecore_evas_x.c

index 7d26f54..f62e67c 100644 (file)
@@ -1896,9 +1896,26 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation, int resize)
 {
    Eina_Bool ch_prop = EINA_FALSE;
 
-   if (ee->rotation == rotation) return;
    if (!strcmp(ee->driver, "xrender_x11")) return;
 
+   /* send rotation done message to wm, even if window is already rotated.
+    * that's why wm must be wait for comming rotation done message
+    * after sending rotation request.
+    */
+   if (ee->rotation == rotation)
+     {
+        if (ee->engine.x.wm_rot.request)
+          {
+             ecore_x_e_window_rotation_change_done_send(ee->engine.x.win_root,
+                                                        ee->prop.window,
+                                                        ee->rotation,
+                                                        ee->w,
+                                                        ee->h);
+             ee->engine.x.wm_rot.request = 0;
+          }
+        return;
+     }
+
    if (ee->prop.wm_rot.supported)
      {
         if (!_ecore_evas_x_wm_rotation_check(ee)) return;