From 5fdf22b5d3ca0383f72098f51a96035494089d6a Mon Sep 17 00:00:00 2001 From: emersion Date: Sat, 26 Jan 2019 11:25:39 +0100 Subject: data-control-v1: handle NULL sources in set_selection --- types/wlr_data_control_v1.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/types/wlr_data_control_v1.c b/types/wlr_data_control_v1.c index e06b9e63..5bb7e81c 100644 --- a/types/wlr_data_control_v1.c +++ b/types/wlr_data_control_v1.c @@ -177,11 +177,15 @@ static void control_handle_set_selection(struct wl_client *client, struct wl_resource *source_resource) { struct wlr_data_control_device_v1 *device = control_from_resource(control_resource); - struct client_data_source *source = source_from_resource(source_resource); if (device == NULL) { return; } + struct client_data_source *source = NULL; + if (source_resource != NULL) { + source = source_from_resource(source_resource); + } + struct wlr_data_source *wlr_source = source ? &source->source : NULL; wlr_seat_request_set_selection(device->seat, wlr_source, wl_display_next_serial(device->seat->display)); -- cgit v1.2.3