forked from enlightenment/enlightenment
ensure that non-fullscreen nocomp clients have their layers re-set
in the case where a window is fullscreen without having the 'fullscreen' flag set, the previously-used layer must be reapplied upon nocomp end in order to avoid breaking the compositor
This commit is contained in:
parent
3ba247dafd
commit
ca3a14c059
|
@ -247,6 +247,8 @@ _e_comp_cb_nocomp_begin(void)
|
||||||
Eina_Bool fs;
|
Eina_Bool fs;
|
||||||
|
|
||||||
fs = e_comp->nocomp_ec->fullscreen;
|
fs = e_comp->nocomp_ec->fullscreen;
|
||||||
|
if (!fs)
|
||||||
|
e_comp->nocomp_ec->saved.layer = e_comp->nocomp_ec->layer;
|
||||||
e_comp->nocomp_ec->fullscreen = 0;
|
e_comp->nocomp_ec->fullscreen = 0;
|
||||||
e_comp->nocomp_ec->layer = E_LAYER_CLIENT_PRIO;
|
e_comp->nocomp_ec->layer = E_LAYER_CLIENT_PRIO;
|
||||||
evas_object_layer_set(e_comp->nocomp_ec->frame, E_LAYER_CLIENT_PRIO);
|
evas_object_layer_set(e_comp->nocomp_ec->frame, E_LAYER_CLIENT_PRIO);
|
||||||
|
@ -355,18 +357,17 @@ _e_comp_nocomp_end(void)
|
||||||
_e_comp_cb_nocomp_end();
|
_e_comp_cb_nocomp_end();
|
||||||
if (e_comp->nocomp_ec)
|
if (e_comp->nocomp_ec)
|
||||||
{
|
{
|
||||||
if (e_comp->nocomp_ec->fullscreen)
|
E_Layer layer = MAX(e_comp->nocomp_ec->saved.layer, E_LAYER_CLIENT_NORMAL);
|
||||||
{
|
Eina_Bool fs;
|
||||||
E_Layer layer = MAX(e_comp->nocomp_ec->saved.layer, E_LAYER_CLIENT_NORMAL);
|
|
||||||
|
|
||||||
if (!e_config->allow_above_fullscreen)
|
if (!e_config->allow_above_fullscreen)
|
||||||
layer = E_LAYER_CLIENT_FULLSCREEN;
|
layer = E_LAYER_CLIENT_FULLSCREEN;
|
||||||
else if (e_config->mode.presentation)
|
else if (e_config->mode.presentation)
|
||||||
layer = E_LAYER_CLIENT_TOP;
|
layer = E_LAYER_CLIENT_TOP;
|
||||||
e_comp->nocomp_ec->fullscreen = 0;
|
fs = e_comp->nocomp_ec->fullscreen;
|
||||||
evas_object_layer_set(e_comp->nocomp_ec->frame, layer);
|
e_comp->nocomp_ec->fullscreen = 0;
|
||||||
e_comp->nocomp_ec->fullscreen = 1;
|
evas_object_layer_set(e_comp->nocomp_ec->frame, layer);
|
||||||
}
|
e_comp->nocomp_ec->fullscreen = fs;
|
||||||
}
|
}
|
||||||
e_comp->nocomp_ec = NULL;
|
e_comp->nocomp_ec = NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue