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

-- 


Reply via email to