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
This commit is contained in:
Carlos Garnacho 2020-04-16 21:10:14 +02:00 committed by Carlos Garnacho
parent d4c3870286
commit 0b6560fac4

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);