summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-07-09 13:03:31 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2019-07-09 13:03:31 +0100
commit70a3b71abaea38839da21247a86c483ae12bc783 (patch)
tree13210138afed2d5b825a1536148b7e253b2ab0ec
parent3f42180611f77397ae1f31cbb3d4b2a082ef286a (diff)
elm - cursor - clear cursor job late to avoid crash
during cursor free a move cb seems to add another job again after it wss already deleted during the free process, so just clear the job really late instead. valgrind found this one @fix
-rw-r--r--src/lib/elementary/els_cursor.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/elementary/els_cursor.c b/src/lib/elementary/els_cursor.c
index cf4bc7642c..eeb1d18f85 100644
--- a/src/lib/elementary/els_cursor.c
+++ b/src/lib/elementary/els_cursor.c
@@ -698,9 +698,6 @@ elm_object_cursor_unset(Evas_Object *obj)
698{ 698{
699 ELM_CURSOR_GET_OR_RETURN(cur, obj); 699 ELM_CURSOR_GET_OR_RETURN(cur, obj);
700 700
701 if (cur->hotupdate_job) ecore_job_del(cur->hotupdate_job);
702 cur->hotupdate_job = NULL;
703
704 eina_stringshare_del(cur->cursor_name); 701 eina_stringshare_del(cur->cursor_name);
705 cur->cursor_name = NULL; 702 cur->cursor_name = NULL;
706 eina_stringshare_del(cur->style); 703 eina_stringshare_del(cur->style);
@@ -754,6 +751,10 @@ elm_object_cursor_unset(Evas_Object *obj)
754 evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, 751 evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL,
755 _elm_cursor_del, cur); 752 _elm_cursor_del, cur);
756 evas_object_data_del(obj, _cursor_key); 753 evas_object_data_del(obj, _cursor_key);
754
755 if (cur->hotupdate_job) ecore_job_del(cur->hotupdate_job);
756 cur->hotupdate_job = NULL;
757
757 free(cur); 758 free(cur);
758} 759}
759 760