e_pointer: update cursor position with the new hot spot 57/316057/1
authorduna.oh <duna.oh@samsung.com>
Tue, 10 Dec 2024 01:23:39 +0000 (10:23 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 10 Dec 2024 01:44:26 +0000 (10:44 +0900)
If the client requests to change its cursor with new buffer and new hot spot,
E20 changes its cursor client to the new buffer. However it didn't update
the cursor position with the new hot spot.
This patch resolves that issue.

Change-Id: I861df47b44693cb273a1c1be83cf95845ff4a0d4

src/bin/windowmgr/e_pointer.c

index 9259b20bf022544b8e48f41056724440eb1cbdb4..45795172990d7ea5b4be39d3b31b2966dc577c41 100644 (file)
@@ -76,7 +76,7 @@ _e_pointer_desk_zoom_get(double *zx, double *zy)
    e_desk_zoom_get(desk, zx, zy, NULL, NULL);
 }
 
-/* move the cursor image with the calcaultion of the hot spot */
+/* move the cursor image with the calculation of the hot spot */
 static void
 _e_pointer_position_update(E_Pointer *ptr)
 {
@@ -494,11 +494,11 @@ e_pointer_view_set(E_Pointer *ptr, E_View_Client *view_client, int x, int y)
 
         /* apply the cursor obj map */
         _e_pointer_map_apply(ptr);
-
-        /* move the pointer to the current position */
-        _e_pointer_position_update(ptr);
      }
 
+   /* update cursor position with the new hot spot*/
+   _e_pointer_position_update(ptr);
+
    if (need_call_hide)
      _e_pointer_hook_call(E_POINTER_HOOK_HIDE, ptr);
 }