diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2020-11-10 08:12:18 +0000 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2020-11-10 08:12:18 +0000 |
commit | fff5b4919ea8f6e7371512eff07e9643ca7291b0 (patch) | |
tree | ee9a6804953a99d270583bf4b00ce3abfad86541 /src/lib/evas | |
parent | ddfa2ef41c044589c1353d7f68702abf48ee82a3 (diff) |
evas - object - grabs - dont delete NULL event grabs
segv while shutting down and removing grabs - obj->events was null...
dont follow that poointer while deleting grabs.
@fix
Diffstat (limited to 'src/lib/evas')
-rw-r--r-- | src/lib/evas/canvas/evas_object_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 0b813e5968..fa25672d5a 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c | |||
@@ -131,7 +131,7 @@ evas_object_pointer_grab_del(Evas_Object_Protected_Data *obj, | |||
131 | if (obj->proxy->is_proxy && obj->proxy->src_events) | 131 | if (obj->proxy->is_proxy && obj->proxy->src_events) |
132 | _evas_object_proxy_grab_del(obj, pdata); | 132 | _evas_object_proxy_grab_del(obj, pdata); |
133 | } | 133 | } |
134 | if (obj->events->pointer_grabs) | 134 | if ((obj->events) && (obj->events->pointer_grabs)) |
135 | { | 135 | { |
136 | EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, Evas_Object_Events_Data, events) | 136 | EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, Evas_Object_Events_Data, events) |
137 | events->pointer_grabs = eina_inlist_remove(events->pointer_grabs, EINA_INLIST_GET(pdata)); | 137 | events->pointer_grabs = eina_inlist_remove(events->pointer_grabs, EINA_INLIST_GET(pdata)); |