apply wayland data device focus after focus has been set

the focus_set client hook is for setting focus, not for doing things which
must occur after focus has been set
This commit is contained in:
Mike Blumenkrantz 2015-08-04 18:50:16 -04:00
parent 6a50d5f581
commit 616ca6583e
1 changed files with 2 additions and 5 deletions

View File

@ -531,6 +531,7 @@ _e_comp_wl_evas_cb_focus_in(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj
e_comp->wl_comp_data->kbd.focused = eina_list_append(e_comp->wl_comp_data->kbd.focused, res);
if (!e_comp->wl_comp_data->kbd.focused) return;
e_comp_wl_input_keyboard_enter_send(ec);
e_comp_wl_data_device_keyboard_focus_set();
ec->comp_data->on_focus_timer = ecore_timer_add(0.8, (Ecore_Task_Cb)_e_comp_wl_evas_cb_focus_in_timer, ec);
}
@ -2284,11 +2285,7 @@ _e_comp_wl_client_cb_focus_set(void *data EINA_UNUSED, E_Client *ec)
//else if (!ec->icccm.take_focus)
//e_grabinput_focus(e_client_util_win_get(ec), E_FOCUS_METHOD_PASSIVE);
if (e_comp->wl_comp_data->kbd.focus != ec->comp_data->surface)
{
e_comp->wl_comp_data->kbd.focus = ec->comp_data->surface;
e_comp_wl_data_device_keyboard_focus_set();
}
e_comp->wl_comp_data->kbd.focus = ec->comp_data->surface;
}
static void