diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 6f9ead712..12372f5e1 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -228,6 +228,7 @@ _e_comp_cb_nocomp_begin(E_Comp *c) ecf = _e_comp_fullscreen_check(c); if (!ecf) return; + c->nocomp_ec = ecf; E_CLIENT_FOREACH(c, ec) if (ec != ecf) e_client_redirected_set(ec, 0); @@ -472,7 +473,10 @@ nocomp: c->nocomp_want = 0; E_FREE_FUNC(c->nocomp_delay_timer, ecore_timer_del); if (c->nocomp) - _e_comp_cb_nocomp_end(c); + { + _e_comp_cb_nocomp_end(c); + c->nocomp_ec = NULL; + } } return ECORE_CALLBACK_RENEW; diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h index 1ee47a5b9..b69d0302c 100644 --- a/src/bin/e_comp.h +++ b/src/bin/e_comp.h @@ -99,6 +99,7 @@ struct _E_Comp int block_count; //number of times block window has been requested Ecore_Window cm_selection; //FIXME: move to comp_x ? + E_Client *nocomp_ec; int depth; unsigned int input_key_grabs;