Merge pull request #1505 from emersion/data-control-unset

data-control-v1: handle NULL sources in set_selection
This commit is contained in:
Drew DeVault 2019-01-27 10:20:02 -05:00 committed by GitHub
commit 89eacf556a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 1 deletions

View File

@ -177,11 +177,15 @@ static void control_handle_set_selection(struct wl_client *client,
struct wl_resource *source_resource) { struct wl_resource *source_resource) {
struct wlr_data_control_device_v1 *device = struct wlr_data_control_device_v1 *device =
control_from_resource(control_resource); control_from_resource(control_resource);
struct client_data_source *source = source_from_resource(source_resource);
if (device == NULL) { if (device == NULL) {
return; 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; struct wlr_data_source *wlr_source = source ? &source->source : NULL;
wlr_seat_request_set_selection(device->seat, wlr_source, wlr_seat_request_set_selection(device->seat, wlr_source,
wl_display_next_serial(device->seat->display)); wl_display_next_serial(device->seat->display));