discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=bec06b87037dd911b411405979d402cf807e5dfa
commit bec06b87037dd911b411405979d402cf807e5dfa Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Fri Jul 10 13:04:12 2015 -0400 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 --- src/bin/e_comp_x.c | 2 +- src/bin/e_pointer.c | 10 ++++++++++ src/bin/e_pointer.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index b73cb99..9e02feb 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -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(); { diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c index 513b480..a6546ef 100644 --- a/src/bin/e_pointer.c +++ b/src/bin/e_pointer.c @@ -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); +} diff --git a/src/bin/e_pointer.h b/src/bin/e_pointer.h index 8aeed7f..91185a6 100644 --- a/src/bin/e_pointer.h +++ b/src/bin/e_pointer.h @@ -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 --