diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index e227638f3..35831a8da 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -4503,6 +4503,11 @@ _e_comp_x_hook_client_focus_unset_job(void *d EINA_UNUSED) static void _e_comp_x_hook_client_focus_unset(void *d EINA_UNUSED, E_Client *ec) { + if (focus_job_client == ec) + { + focus_job_client = NULL; + E_FREE_FUNC(focus_job, ecore_job_del); + } unfocus_job_client = ec; if (!unfocus_job) unfocus_job = ecore_job_add(_e_comp_x_hook_client_focus_unset_job, NULL); @@ -4542,6 +4547,11 @@ _e_comp_x_hook_client_focus_set_job(void *d EINA_UNUSED) static void _e_comp_x_hook_client_focus_set(void *d EINA_UNUSED, E_Client *ec) { + if (unfocus_job_client == ec) + { + unfocus_job_client = NULL; + E_FREE_FUNC(unfocus_job, ecore_job_del); + } focus_job_client = ec; if (!focus_job) focus_job = ecore_job_add(_e_comp_x_hook_client_focus_set_job, NULL);