efl-wl: hide popup surface before unsetting attrs during destructor
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 28 Jul 2017 19:44:43 +0000 (15:44 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 28 Jul 2017 19:40:47 +0000 (15:40 -0400)
ensure focus remains with the popup parent

src/lib/efl_wl/efl_wl.c

index a18039f..808dacc 100644 (file)
@@ -3134,6 +3134,7 @@ shell_surface_popup_impl_destroy(struct wl_resource *resource)
    Comp_Seat *s;
 
    cs->role = NULL;
+   evas_object_hide(cs->obj);
    cs->shell.popup = 0;
    EINA_LIST_FREE(cs->shell.grabs, s)
      if (s->grab == cs)
@@ -3147,7 +3148,6 @@ shell_surface_popup_impl_destroy(struct wl_resource *resource)
    if (cs->children)
      wl_resource_post_error(cs->shell.surface, ZXDG_SHELL_V6_ERROR_DEFUNCT_SURFACES,
                             "popups dismissed out of order");
-   evas_object_hide(cs->obj);
    if (cs->parent)
      comp_surface_reparent(cs, NULL);
 }