summaryrefslogtreecommitdiff
path: root/src/modules/ecore_evas/engines/sdl
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2014-06-25 13:11:16 -0400
committerChris Michael <cp.michael@samsung.com>2014-06-25 13:20:49 -0400
commit87af84c3e37429694fff6f04e70332dc1bcc8c5d (patch)
treea7d05c5e167838a45939b545b8c42c3d83b1ecc4 /src/modules/ecore_evas/engines/sdl
parentd69e4fbe203d9689fcebc9cd6e3d4e799dd2123e (diff)
ecore-evas: Fix cursor position getting reset to 0,0 when using
ecore_evas_cursor_object_set NB: Previously, if we mad calls to ecore_evas_cursor_object_set to update the mouse cursor hotspot, the mouse cursor would be repositioned at 0,0 on the canvas due to x & y being set to 0,0. We fix that here by fetching the current mouse position Regardless if we are changing the object or not (ie: perhaps we are just updating the hotspot and not the object) @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
Diffstat (limited to 'src/modules/ecore_evas/engines/sdl')
-rw-r--r--src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c b/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c
index 6dfd7d6b2b..d54e042620 100644
--- a/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c
+++ b/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c
@@ -374,9 +374,10 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
374 ee->prop.cursor.hot.x = hot_x; 374 ee->prop.cursor.hot.x = hot_x;
375 ee->prop.cursor.hot.y = hot_y; 375 ee->prop.cursor.hot.y = hot_y;
376 376
377 evas_pointer_output_xy_get(ee->evas, &x, &y);
378
377 if (obj != old) 379 if (obj != old)
378 { 380 {
379 evas_pointer_output_xy_get(ee->evas, &x, &y);
380 evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer); 381 evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
381 evas_object_pass_events_set(ee->prop.cursor.object, 1); 382 evas_object_pass_events_set(ee->prop.cursor.object, 1);
382 if (evas_pointer_inside_get(ee->evas)) 383 if (evas_pointer_inside_get(ee->evas))