[mutter/gnome-3-36] Revert "wayland: Send primary offer to all data devices from the same client"
- From: Robert Mader <rmader src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/gnome-3-36] Revert "wayland: Send primary offer to all data devices from the same client"
- Date: Wed, 24 Jun 2020 20:21:08 +0000 (UTC)
commit 849d8dfae920e1f6074bc37e8444b4f5370135bc
Author: Robert Mader <robert mader posteo de>
Date: Wed Jun 24 21:29:08 2020 +0200
Revert "wayland: Send primary offer to all data devices from the same client"
This reverts commit 493aeb65c8ed435c66bd951f830e145c1eaaf06d.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1330
src/wayland/meta-wayland-data-device.c | 16 ++++++----------
src/wayland/meta-wayland-data-device.h | 1 -
2 files changed, 6 insertions(+), 11 deletions(-)
---
diff --git a/src/wayland/meta-wayland-data-device.c b/src/wayland/meta-wayland-data-device.c
index 99759a774d..37f23e7b32 100644
--- a/src/wayland/meta-wayland-data-device.c
+++ b/src/wayland/meta-wayland-data-device.c
@@ -1871,7 +1871,10 @@ owner_changed_cb (MetaSelection *selection,
if (selection_type == META_SELECTION_PRIMARY)
{
- wl_resource_for_each (data_device_resource, &data_device->primary_focus_resource_list)
+ data_device_resource =
+ wl_resource_find_for_client (&data_device->primary_resource_list,
+ focus_client);
+ if (data_device_resource)
{
struct wl_resource *offer = NULL;
@@ -2024,7 +2027,6 @@ meta_wayland_data_device_init (MetaWaylandDataDevice *data_device)
wl_list_init (&data_device->resource_list);
wl_list_init (&data_device->focus_resource_list);
wl_list_init (&data_device->primary_resource_list);
- wl_list_init (&data_device->primary_focus_resource_list);
}
static struct wl_resource *
@@ -2108,8 +2110,6 @@ meta_wayland_data_device_set_keyboard_focus (MetaWaylandDataDevice *data_device)
data_device->focus_client = focus_client;
move_resources (&data_device->resource_list,
&data_device->focus_resource_list);
- move_resources (&data_device->primary_resource_list,
- &data_device->primary_focus_resource_list);
if (!focus_client)
return;
@@ -2126,14 +2126,10 @@ meta_wayland_data_device_set_keyboard_focus (MetaWaylandDataDevice *data_device)
wl_data_device_send_selection (data_device_resource, offer);
}
- move_resources_for_client (&data_device->primary_focus_resource_list,
- &data_device->primary_resource_list,
- focus_client);
-
- wl_resource_for_each (data_device_resource, &data_device->primary_focus_resource_list)
+ data_device_resource = wl_resource_find_for_client (&data_device->primary_resource_list, focus_client);
+ if (data_device_resource)
{
struct wl_resource *offer;
-
offer = create_and_send_primary_offer (data_device, data_device_resource);
gtk_primary_selection_device_send_selection (data_device_resource, offer);
}
diff --git a/src/wayland/meta-wayland-data-device.h b/src/wayland/meta-wayland-data-device.h
index efeaffed52..7ebaca3266 100644
--- a/src/wayland/meta-wayland-data-device.h
+++ b/src/wayland/meta-wayland-data-device.h
@@ -65,7 +65,6 @@ struct _MetaWaylandDataDevice
struct wl_list resource_list;
struct wl_list focus_resource_list;
struct wl_list primary_resource_list;
- struct wl_list primary_focus_resource_list;
MetaWaylandDragGrab *current_grab;
struct wl_client *focus_client;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]