wayland: Do not cancel old data source when setting new selection

This is taken care already by the MetaSelection machinery, by
deactivating the previous selection source when setting a new one.
That works across X11 and internal selection sources. This
only works when replacing one wayland source with another, and
actually results in doubly .cancelled events due to the other
paths.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1177

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1203

(cherry picked from commit 0b6560fac4)
This commit is contained in:
Carlos Garnacho 2020-04-16 21:10:14 +02:00 committed by Robert Mader
parent 7a09d07b9c
commit 9ad61fe02f

View File

@ -1669,7 +1669,6 @@ meta_wayland_data_device_set_selection (MetaWaylandDataDevice *data_device,
if (data_device->selection_data_source) if (data_device->selection_data_source)
{ {
meta_wayland_data_source_cancel (data_device->selection_data_source);
g_object_weak_unref (G_OBJECT (data_device->selection_data_source), g_object_weak_unref (G_OBJECT (data_device->selection_data_source),
selection_data_source_destroyed, selection_data_source_destroyed,
data_device); data_device);
@ -1794,7 +1793,6 @@ meta_wayland_data_device_set_primary (MetaWaylandDataDevice *data_device,
if (data_device->primary_data_source) if (data_device->primary_data_source)
{ {
meta_wayland_data_source_cancel (data_device->primary_data_source);
g_object_weak_unref (G_OBJECT (data_device->primary_data_source), g_object_weak_unref (G_OBJECT (data_device->primary_data_source),
primary_source_destroyed, primary_source_destroyed,
data_device); data_device);