When keyboard needs to rotate in unmap state, 37/9737/1
authorShawn Lee <shiin.lee@samsung.com>
Thu, 4 Jul 2013 13:10:09 +0000 (22:10 +0900)
committerShawn Lee <shiin.lee@samsung.com>
Thu, 4 Jul 2013 13:27:36 +0000 (22:27 +0900)
e17 should to deal with rotation process same with visible case.
rotation_prepare_send -> rotation_prepare_done -> rotataion_request

Change-Id: If8f586d219472e9366ed213cd02fb2b6dd8c05ae

src/bin/e_border.c

index 164407e..638a57f 100644 (file)
@@ -4387,14 +4387,16 @@ e_border_idler_before(void)
                        if ((zone) && (rot.wait_prepare_done))
                          {
                             if (rot.list)
+                              _e_border_rotation_change_request(zone);
+                            else if (rot.async_list)
                               {
-                                 _e_border_rotation_change_request(zone);
-                                 if (rot.prepare_timer)
-                                   ecore_timer_del(rot.prepare_timer);
-                                 rot.prepare_timer = NULL;
-                                 rot.wait_prepare_done = EINA_FALSE;
-
+                                 _e_border_rotation_list_flush(rot.async_list, EINA_TRUE);
+                                 rot.async_list = NULL;
                               }
+                            if (rot.prepare_timer)
+                              ecore_timer_del(rot.prepare_timer);
+                            rot.prepare_timer = NULL;
+                            rot.wait_prepare_done = EINA_FALSE;
                          }
                     }
                }
@@ -8062,8 +8064,11 @@ _e_border_cb_rotation_async_job(void *data)
 
    ELB(ELBT_ROT, "FLUSH ASYNC LIST TO ROT_CHANGE_REQ", zone->id);
 
-   _e_border_rotation_list_flush(rot.async_list, EINA_TRUE);
-   rot.async_list = NULL;
+   if (!rot.wait_prepare_done)
+     {
+        _e_border_rotation_list_flush(rot.async_list, EINA_TRUE);
+        rot.async_list = NULL;
+     }
 
 end:
    // clear async job