diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index b73cb9982..9e02febc9 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 513b480e6..a6546efd2 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 8aeed7ff4..91185a6c4 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