ecore-evas: clear cursor object cache when setting default cursor

@fix
This commit is contained in:
Mike Blumenkrantz 2017-05-26 16:34:10 -04:00
parent e21847e3fd
commit 50381e7911
1 changed files with 5 additions and 1 deletions

View File

@ -1725,12 +1725,14 @@ _ecore_evas_object_cursor_device_set(Ecore_Evas *ee, Efl_Input_Device *pointer,
Ecore_Evas_Cursor *cursor;
int x, y;
Evas_Object *old;
Efl_Input_Device *dpointer;
ECORE_EVAS_CHECK(ee);
dpointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_CLASS_MOUSE);
if (!pointer)
{
pointer = evas_default_device_get(ee->evas, EFL_INPUT_DEVICE_CLASS_MOUSE);
pointer = dpointer;
if (!pointer)
{
ee->prop.cursor_cache.object = obj;
@ -1740,6 +1742,8 @@ _ecore_evas_object_cursor_device_set(Ecore_Evas *ee, Efl_Input_Device *pointer,
return;
}
}
if (pointer == dpointer)
memset(&ee->prop.cursor_cache, 0, sizeof(Ecore_Evas_Cursor));
if (obj && ee->engine.func->fn_object_cursor_set)
ee->engine.func->fn_object_cursor_set(ee, obj, layer, hot_x, hot_y);