diff --git a/types/wlr_data_device.c b/types/wlr_data_device.c index dacb2a45..b27009dc 100644 --- a/types/wlr_data_device.c +++ b/types/wlr_data_device.c @@ -335,11 +335,11 @@ void wlr_seat_set_selection(struct wlr_seat *seat, static void data_device_set_selection(struct wl_client *client, struct wl_resource *dd_resource, struct wl_resource *source_resource, uint32_t serial) { - if (!source_resource) { - return; + struct wlr_data_source *source = NULL; + if (source_resource != NULL) { + source = wl_resource_get_user_data(source_resource); } - struct wlr_data_source *source = wl_resource_get_user_data(source_resource); struct wlr_seat_client *seat_client = wl_resource_get_user_data(dd_resource);