discomfitor pushed a commit to branch enlightenment-0.20.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=f63ebeb939205e4f70c235628d23e2f2b9728bfc

commit f63ebeb939205e4f70c235628d23e2f2b9728bfc
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Tue Jan 19 13:43:06 2016 -0500

    call xdg surface map when creating a surface for visible internal windows
    
    if windows are created during startup, they will attempt to show themselves
    before xdg surface operations are available, leading to a scenario where 
they
    will never successfully map themselves. if the elm win object is visible, 
this
    indicates a mapped internal window, so directly call the map function at 
this
    time to make the window visible
---
 src/modules/wl_desktop_shell/e_mod_main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/modules/wl_desktop_shell/e_mod_main.c 
b/src/modules/wl_desktop_shell/e_mod_main.c
index bb4020d..60279f4 100644
--- a/src/modules/wl_desktop_shell/e_mod_main.c
+++ b/src/modules/wl_desktop_shell/e_mod_main.c
@@ -1165,6 +1165,9 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, 
struct wl_resource *resour
      ec->border.changed = ec->changes.border = !ec->borderless;
    ec->netwm.type = E_WINDOW_TYPE_NORMAL;
    ec->comp_data->set_win_type = EINA_TRUE;
+
+   if (ec->internal_elm_win && evas_object_visible_get(ec->internal_elm_win))
+     _e_xdg_shell_surface_map(surface_resource);
 }
 
 static void
@@ -1272,7 +1275,8 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, 
struct wl_resource *resource
         cdata->popup.x = x;
         cdata->popup.y = y;
      }
-
+   if (ec->internal_elm_win && evas_object_visible_get(ec->internal_elm_win))
+     _e_xdg_shell_surface_map(surface_resource);
 }
 
 static void

-- 


Reply via email to