From cb3e102620a4c8c1599b6e98fb1a37989f16f2ae Mon Sep 17 00:00:00 2001 From: Ander Conselvan de Oliveira Date: Thu, 1 Mar 2012 14:09:41 +0200 Subject: [PATCH] Fix wl_data_offer source destroy listener The listener function implementation was getting a wrong pointer to the wl_data_offer object because the resource parameter is actually the data source and not the data offer. --- src/data-device.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/data-device.c b/src/data-device.c index 645dbc6..0c7fa65 100644 --- a/src/data-device.c +++ b/src/data-device.c @@ -80,7 +80,10 @@ static void destroy_offer_data_source(struct wl_listener *listener, struct wl_resource *resource, uint32_t time) { - struct wl_data_offer *offer = resource->data; + struct wl_data_offer *offer; + + offer = container_of(listener, struct wl_data_offer, + source_destroy_listener); offer->source = NULL; } -- 2.7.4