data_device: Nullify {drag,offer}->source 21/280021/1
authorSeunghun Lee <shiin.lee@samsung.com>
Wed, 17 Aug 2022 06:00:24 +0000 (15:00 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 22 Aug 2022 09:08:16 +0000 (18:08 +0900)
This is to prevent the data_source from being destroyed repeatedly.

Change-Id: I5ce1efed2b81dabc8d7c8d9b5f8dea3b20b67fa7

src/data_device/data_offer.c
src/data_device/drag.c

index b8fd0ad..eff2406 100644 (file)
@@ -138,6 +138,10 @@ data_offer_handle_source_destroy(struct wl_listener *listener, void *data)
     struct ds_data_offer *offer;
 
     offer = wl_container_of(listener, offer, source_destroy);
+
+    wl_list_remove(&offer->source_destroy.link);
+    offer->source = NULL;
+
     data_offer_destroy(offer);
 }
 
index 066e93e..0f64ba2 100644 (file)
@@ -193,6 +193,10 @@ drag_handle_source_destroy(struct wl_listener *listener, void *data)
     struct ds_drag *drag;
 
     drag = wl_container_of(listener, drag, source_destroy);
+
+    wl_list_remove(&drag->source_destroy.link);
+    drag->source = NULL;
+
     drag_destroy(drag);
 }