add function to fill in x11 cursor image on creation

xwayland compositing requires that we set up a root window cursor image
immediately since we'll be getting that cursor surface to display as soon
as the pointer goes out of an x11 client's window
This commit is contained in:
Mike Blumenkrantz 2015-07-10 13:04:12 -04:00
parent 5a26363046
commit bec06b8703
3 changed files with 12 additions and 1 deletions

View File

@ -5185,7 +5185,7 @@ _e_comp_x_setup(Ecore_X_Window root, int w, int h)
ecore_x_icccm_state_set(ecore_evas_window_get(e_comp->ee), ECORE_X_WINDOW_STATE_HINT_NORMAL);
}
else
e_comp->pointer->win = e_comp->root;
e_pointer_window_add(e_comp->pointer, e_comp->root);
_e_comp_x_manage_windows();
{

View File

@ -793,3 +793,13 @@ e_pointer_object_set(E_Pointer *ptr, Evas_Object *obj, int x, int y)
else
ecore_evas_object_cursor_set(ptr->ee, ptr->o_ptr, EVAS_LAYER_MAX, ptr->hot.x, ptr->hot.y);
}
E_API void
e_pointer_window_add(E_Pointer *ptr, Ecore_Window win)
{
char buf[1024];
ptr->win = win;
_e_pointer_theme_buf(ptr, buf);
_e_pointer_x11_setup(ptr, buf);
}

View File

@ -72,5 +72,6 @@ E_API void e_pointer_mode_push(void *obj, E_Pointer_Mode mode);
E_API void e_pointer_mode_pop(void *obj, E_Pointer_Mode mode);
E_API void e_pointer_idler_before(void);
E_API void e_pointer_object_set(E_Pointer *ptr, Evas_Object *obj, int x, int y);
E_API void e_pointer_window_add(E_Pointer *ptr, Ecore_Window win);
# endif
#endif