forked from enlightenment/efl
Ecore_X(cb): Fix my focus issues with Sloppy focus.
Add a check for valid connection in ecore_xcb_icccm.c NB: For some reason, XCB does not like ecore's timestamp which is being passed in. Since all the calls to ecore_x_window_focus_at_time are being passed the current timestamp anyway, just use XCB_CURRENT_TIME until I have more available 'free time' to dig deeper into this. SVN revision: 67136
This commit is contained in:
parent
236aec5bec
commit
574380ccb0
|
@ -1452,6 +1452,7 @@ ecore_x_icccm_take_focus_send(Ecore_X_Window win,
|
||||||
Ecore_X_Time t)
|
Ecore_X_Time t)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
|
CHECK_XCB_CONN;
|
||||||
|
|
||||||
ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS,
|
ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS,
|
||||||
XCB_EVENT_MASK_NO_EVENT,
|
XCB_EVENT_MASK_NO_EVENT,
|
||||||
|
|
|
@ -783,13 +783,14 @@ ecore_x_window_focus(Ecore_X_Window win)
|
||||||
*/
|
*/
|
||||||
EAPI void
|
EAPI void
|
||||||
ecore_x_window_focus_at_time(Ecore_X_Window win,
|
ecore_x_window_focus_at_time(Ecore_X_Window win,
|
||||||
Ecore_X_Time time)
|
Ecore_X_Time time __UNUSED__)
|
||||||
{
|
{
|
||||||
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
LOGFN(__FILE__, __LINE__, __FUNCTION__);
|
||||||
CHECK_XCB_CONN;
|
CHECK_XCB_CONN;
|
||||||
|
|
||||||
if (!win) win = ((xcb_screen_t *)_ecore_xcb_screen)->root;
|
if (!win) win = ((xcb_screen_t *)_ecore_xcb_screen)->root;
|
||||||
xcb_set_input_focus(_ecore_xcb_conn, XCB_INPUT_FOCUS_PARENT, win, time);
|
xcb_set_input_focus(_ecore_xcb_conn,
|
||||||
|
XCB_INPUT_FOCUS_PARENT, win, XCB_CURRENT_TIME);
|
||||||
// ecore_x_flush();
|
// ecore_x_flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue