forbid enlightenment reconfigure eom client's resolution 86/80086/2
authorRoman Peresipkyn <r.peresipkyn@samsung.com>
Thu, 14 Jul 2016 11:50:50 +0000 (14:50 +0300)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 15 Jul 2016 04:41:53 +0000 (21:41 -0700)
Since Enlightenment client has reconfigured its window to fit
external output resolution and Enlightenment no nothing about
external outputs Enlightenment sees that client's resolution
differs form main screen resolution. Therefore, Enlightenment
is trying to resize it back to main screen resolution. It uses
timer for that purpose. To forbid it just delte the timer

Change-Id: Ieaee40e7a20bfeb162bdd8e35ee466f56d943035
Signed-off-by: Roman Peresipkyn <r.peresipkyn@samsung.com>
src/e_mod_main.c

index b6ae4bb..4d7a1dd 100644 (file)
@@ -388,12 +388,29 @@ _e_eom_cb_client_buffer_change(void *data, int type, void *event)
                    "resource is NULL");
 
 /*
-   EOM_DBG("wl_buff:%dx%d type:%d",
-            external_wl_buffer->w,
-            external_wl_buffer->h,
-            external_wl_buffer->type);
+   EOM_DBG("wl_buff:%p type:%d %dx%d ",
+           external_wl_buffer,
+           external_wl_buffer->type,
+           external_wl_buffer->w,
+           external_wl_buffer->h,
+           );
 */
 
+   /* Since Enlightenment client has reconfigured its window to fit
+    * external output resolution and Enlightenment no nothing about
+    * external outputs Enlightenment sees that client's resolution
+    * differs form main screen resolution. Therefore, Enlightenment
+    * is trying to resize it back to main screen resolution. It uses
+    * timer for that purpose. To forbid it just delte the timer */
+
+   /* TODO: it works but maybe there is better solution exists ?
+    * Also I do not know how it affects on performance */
+   if (ec->map_timer)
+     {
+        EOM_DBG("delete map_timer");
+        E_FREE_FUNC(ec->map_timer, ecore_timer_del);
+     }
+
    /* TODO: support buffers smaller then output resolution */
    if (external_wl_buffer->w != eom_output->width ||
        external_wl_buffer->h != eom_output->height )