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 668d13ffb5
commit eb6189d6b6

View File

@ -1656,7 +1656,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);
@ -1781,7 +1780,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);