e_pointer: check cursor whether it is by client or not 47/45847/1
authorMinJeong Kim <minjjj.kim@samsung.com>
Wed, 12 Aug 2015 02:35:05 +0000 (11:35 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Wed, 12 Aug 2015 02:38:46 +0000 (11:38 +0900)
Change-Id: I4ec68dd1abde798650377ae571e3efb726d4d151
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/bin/e_pointer.c

index 8d2064b..6ebecbe 100644 (file)
@@ -623,7 +623,15 @@ e_pointer_type_pop(E_Pointer *ptr, void *obj, const char *type)
 EAPI void 
 e_pointer_mode_push(void *obj, E_Pointer_Mode mode)
 {
-#ifndef HAVE_WAYLAND_ONLY
+   E_Client *ec;
+   Evas_Object *o;
+
+   EINA_SAFETY_ON_NULL_RETURN(e_comp->pointer);
+
+   ecore_evas_cursor_get(e_comp->pointer->ee, &o, NULL, NULL, NULL);
+   if ((o != e_comp->pointer->o_ptr) && (ec = e_comp_object_client_get(o)))
+     return;
+
    switch (mode)
      {
       case E_POINTER_RESIZE_TL:
@@ -664,7 +672,6 @@ e_pointer_mode_push(void *obj, E_Pointer_Mode mode)
 
       default: break;
      }
-#endif
 }
 
 EAPI void