enforce wl xdg popup stacking relative to parent stacking

This commit is contained in:
Mike Blumenkrantz 2016-03-31 14:05:47 -04:00
parent 336721e693
commit 607975ccc0
2 changed files with 8 additions and 0 deletions

View File

@ -554,6 +554,12 @@ _e_comp_wl_evas_cb_restack(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EIN
Eina_List *l, *ll;
if (e_object_is_del(E_OBJECT(ec))) return;
if (e_client_has_xwindow(ec)) return;
EINA_LIST_FOREACH(ec->transients, l, sec)
{
evas_object_layer_set(sec->frame, evas_object_layer_get(ec->frame));
evas_object_stack_above(sec->frame, ec->frame);
}
if (!ec->comp_data->sub.list) return;
EINA_LIST_FOREACH(ec->comp_data->sub.list, l, sec)
evas_object_layer_set(sec->frame, evas_object_layer_get(ec->frame));

View File

@ -63,6 +63,8 @@ _e_shell_surface_parent_set(E_Client *ec, struct wl_resource *parent_resource)
{
pc->transients = eina_list_append(pc->transients, ec);
ec->parent = pc;
evas_object_layer_set(ec->frame, evas_object_layer_get(pc->frame));
evas_object_stack_above(ec->frame, pc->frame);
}
ec->icccm.fetch.transient_for = EINA_TRUE;