disable ecore-evas events on client windows during actions

this is a not-great way of hacking around various issues related to
the efl mouse button cancel patches that went in for the 1.15 cycle
which changed the entire mouse input workings of the toolkit.

to avoid further issues, the compositor will explicitly block eventing
on all internal canvases during actions
This commit is contained in:
Mike Blumenkrantz 2015-07-28 16:46:00 -04:00
parent bbecf27c97
commit af230fc7f6
1 changed files with 12 additions and 0 deletions

View File

@ -403,6 +403,11 @@ _e_client_action_finish(void)
E_FREE_FUNC(action_timer, ecore_timer_del);
E_FREE_FUNC(action_handler_key, ecore_event_handler_del);
E_FREE_FUNC(action_handler_mouse, ecore_event_handler_del);
if (action_client)
{
if (action_client->internal_elm_win)
ecore_event_window_ignore_events(elm_win_window_id_get(action_client->internal_elm_win), 0);
}
action_client = NULL;
}
@ -731,7 +736,14 @@ _e_client_action_init(E_Client *ec)
action_orig.w = ec->w;
action_orig.h = ec->h;
if (action_client)
{
if (action_client->internal_elm_win)
ecore_event_window_ignore_events(elm_win_window_id_get(action_client->internal_elm_win), 0);
}
action_client = ec;
if (ec->internal_elm_win)
ecore_event_window_ignore_events(elm_win_window_id_get(ec->internal_elm_win), 1);
}
static void