e_grabinput: do not pass a faulty time

Summary:
currently there is ecore_x_current_time passed, which is the time of the
last event. if this is passed to ecore_x_window_focus_at_time the request can be
ignored because the last event can be in the past. Instead using
ecore_x_window_focus fixes this, because current time is passed, which
means that x is just using this event at the time it is called.

@fix T2948

Test Plan: Try to run spotify and try to trigger the bug, I cannot anymore.

Reviewers: zmike, raster

Subscribers: raster, abyomi0, cedric, billiob

Maniphest Tasks: T2948

Differential Revision: https://phab.enlightenment.org/D3471
This commit is contained in:
Marcel Hollerbach 2016-01-16 12:09:00 +01:00 committed by Mike Blumenkrantz
parent b8a5f960b9
commit d093fc8e33
1 changed files with 2 additions and 2 deletions

View File

@ -173,7 +173,7 @@ _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method)
#ifndef HAVE_WAYLAND_ONLY
if (e_comp_util_has_x())
{
ecore_x_window_focus_at_time(win, ecore_x_current_time_get());
ecore_x_window_focus(win);
ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get());
}
#endif
@ -189,7 +189,7 @@ _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method)
case E_FOCUS_METHOD_PASSIVE:
#ifndef HAVE_WAYLAND_ONLY
if (e_comp_util_has_x())
ecore_x_window_focus_at_time(win, ecore_x_current_time_get());
ecore_x_window_focus(win);
#endif
break;