diff options
author | emersion <contact@emersion.fr> | 2019-01-26 11:25:39 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-01-26 11:25:39 +0100 |
commit | 5fdf22b5d3ca0383f72098f51a96035494089d6a (patch) | |
tree | 8e0bf3c34f58c8b9e50fd820d6c2aba8b4d52738 | |
parent | 209210d30780ec64995594b77fde3d718b655542 (diff) |
data-control-v1: handle NULL sources in set_selection
-rw-r--r-- | types/wlr_data_control_v1.c | 6 |
1 files changed, 5 insertions, 1 deletions
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)); |