forked from enlightenment/enlightenment
enforce wl xdg popup stacking relative to parent stacking
This commit is contained in:
parent
336721e693
commit
607975ccc0
|
@ -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));
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue