discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=e42b072f38404b0ad179d117126a1881d5d7b24d

commit e42b072f38404b0ad179d117126a1881d5d7b24d
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Dec 2 10:51:57 2016 -0500

    attempt to re-set wl surface pointer when popping back to "default" pointer 
type
    
    this automatically handles the case where enlightenment has commandeered the
    cursor temporarily and the active client has not unset+set a new cursor in 
the
    meantime
---
 src/bin/e_pointer.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c
index 134950e..c008769 100644
--- a/src/bin/e_pointer.c
+++ b/src/bin/e_pointer.c
@@ -459,7 +459,16 @@ _e_pointer_type_set(E_Pointer *ptr, const char *type)
         _e_pointer_hot_update(ptr, x, y);
 
         if (ptr->canvas)
-          e_pointer_object_set(ptr, NULL, 0, 0);
+          {
+             E_Client *ec = e_client_top_get();
+
+             if (ec && (e_comp->comp_type == E_PIXMAP_TYPE_WL) &&
+                 (!e_pixmap_is_x(ec->pixmap)) && ec->override &&
+                 eina_streq(type, "default"))
+               e_pointer_object_set(ptr, ec->frame, 0, 0);
+             else
+               e_pointer_object_set(ptr, NULL, 0, 0);
+          }
         else
           evas_object_show(ptr->o_ptr);
 

-- 


Reply via email to