From 9310d101bc81da28dbb02aac46a4c8ccb0721436 Mon Sep 17 00:00:00 2001 From: emersion Date: Sat, 16 Dec 2017 16:16:29 +0100 Subject: [PATCH] Fix potential segfault --- types/wlr_data_device.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/types/wlr_data_device.c b/types/wlr_data_device.c index e0053399..bd7665cf 100644 --- a/types/wlr_data_device.c +++ b/types/wlr_data_device.c @@ -269,9 +269,16 @@ static struct wlr_data_offer *wlr_data_source_send_offer( } void wlr_seat_client_send_selection(struct wlr_seat_client *seat_client) { + if (wl_list_empty(&seat_client->data_devices)) { + return; + } + if (seat_client->seat->selection_source) { struct wlr_data_offer *offer = wlr_data_source_send_offer( seat_client->seat->selection_source, seat_client); + if (offer == NULL) { + return; + } struct wl_resource *resource; wl_resource_for_each(resource, &seat_client->data_devices) {