|
|
@ -3507,6 +3507,7 @@ void |
|
|
|
input_set_selection(struct input *input, |
|
|
|
input_set_selection(struct input *input, |
|
|
|
struct wl_data_source *source, uint32_t time) |
|
|
|
struct wl_data_source *source, uint32_t time) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (input->data_device) |
|
|
|
wl_data_device_set_selection(input->data_device, source, time); |
|
|
|
wl_data_device_set_selection(input->data_device, source, time); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -4903,11 +4904,14 @@ display_add_input(struct display *d, uint32_t id) |
|
|
|
wl_seat_add_listener(input->seat, &seat_listener, input); |
|
|
|
wl_seat_add_listener(input->seat, &seat_listener, input); |
|
|
|
wl_seat_set_user_data(input->seat, input); |
|
|
|
wl_seat_set_user_data(input->seat, input); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (d->data_device_manager) { |
|
|
|
input->data_device = |
|
|
|
input->data_device = |
|
|
|
wl_data_device_manager_get_data_device(d->data_device_manager, |
|
|
|
wl_data_device_manager_get_data_device(d->data_device_manager, |
|
|
|
input->seat); |
|
|
|
input->seat); |
|
|
|
wl_data_device_add_listener(input->data_device, &data_device_listener, |
|
|
|
wl_data_device_add_listener(input->data_device, |
|
|
|
|
|
|
|
&data_device_listener, |
|
|
|
input); |
|
|
|
input); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
input->pointer_surface = wl_compositor_create_surface(d->compositor); |
|
|
|
input->pointer_surface = wl_compositor_create_surface(d->compositor); |
|
|
|
|
|
|
|
|
|
|
@ -4930,6 +4934,7 @@ input_destroy(struct input *input) |
|
|
|
if (input->selection_offer) |
|
|
|
if (input->selection_offer) |
|
|
|
data_offer_destroy(input->selection_offer); |
|
|
|
data_offer_destroy(input->selection_offer); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (input->data_device) |
|
|
|
wl_data_device_destroy(input->data_device); |
|
|
|
wl_data_device_destroy(input->data_device); |
|
|
|
|
|
|
|
|
|
|
|
if (input->display->seat_version >= 3) { |
|
|
|
if (input->display->seat_version >= 3) { |
|
|
@ -5413,7 +5418,10 @@ display_get_egl_display(struct display *d) |
|
|
|
struct wl_data_source * |
|
|
|
struct wl_data_source * |
|
|
|
display_create_data_source(struct display *display) |
|
|
|
display_create_data_source(struct display *display) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (display->data_device_manager) |
|
|
|
return wl_data_device_manager_create_data_source(display->data_device_manager); |
|
|
|
return wl_data_device_manager_create_data_source(display->data_device_manager); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
return NULL; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
EGLConfig |
|
|
|
EGLConfig |
|
|
|