elementary: Ensure pointer hotspot update and reduce duplicated code
authorChris Michael <cp.michael@samsung.com>
Mon, 30 Jan 2017 17:59:29 +0000 (12:59 -0500)
committerChris Michael <cp.michael@samsung.com>
Mon, 30 Jan 2017 17:59:29 +0000 (12:59 -0500)
When we mouse_in on a window, the cursor hotspot may need updating for
the new pointer image, so utilize an existing function we already have
which will set the pointer image and calculate updated hotspot. This
patch also uses the same function call in _elm_win_frame_cb_move_stop
in order to reduce duplication.

ref T4987

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/lib/elementary/efl_ui_win.c

index 1d06584..a9db0f4 100644 (file)
@@ -952,14 +952,11 @@ _elm_win_mouse_in(Ecore_Evas *ee)
 #ifdef HAVE_ELEMENTARY_WL2
    if ((sd->wl.win) && (sd->pointer.ee))
      {
-        _elm_theme_object_set(sd->obj, sd->pointer.obj,
-                              "pointer", "base", "default");
-
         sd->pointer.visible = EINA_TRUE;
         ecore_evas_show(sd->pointer.ee);
         sd->pointer.surf = ecore_wl2_window_surface_get(sd->pointer.win);
-        ecore_wl2_window_pointer_set(sd->wl.win, sd->pointer.surf,
-                                     sd->pointer.hot_x, sd->pointer.hot_y);
+
+        _elm_win_wl_cursor_set(sd->obj, NULL);
      }
 #endif
 }
@@ -3947,13 +3944,7 @@ _elm_win_frame_cb_move_stop(void *data,
    ELM_WIN_DATA_GET_OR_RETURN(data, sd);
 
 #ifdef HAVE_ELEMENTARY_WL2
-   if (sd->pointer.obj)
-     _elm_theme_object_set(sd->obj, sd->pointer.obj,
-                           "pointer", "base", "default");
-
-   if ((sd->wl.win) && (sd->pointer.surf) && (sd->pointer.visible))
-     ecore_wl2_window_pointer_set(sd->wl.win, sd->pointer.surf,
-                                  sd->pointer.hot_x, sd->pointer.hot_y);
+   _elm_win_wl_cursor_set(sd->obj, NULL);
 #endif
 }