/[packages]/updates/6/gnome-shell/current/SOURCES/0001-gtk-embed-ensure-we-only-listen-for-window-created-e.patch
ViewVC logotype

Contents of /updates/6/gnome-shell/current/SOURCES/0001-gtk-embed-ensure-we-only-listen-for-window-created-e.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1188851 - (show annotations) (download)
Mon Jan 1 18:32:01 2018 UTC (6 years, 3 months ago) by luigiwalser
File size: 1815 byte(s)
- 3.24.3
- add patch from fedora to fix security issue (mga#21759)

1 From b39b84c683e29086b999b835c09ac4ee5a960852 Mon Sep 17 00:00:00 2001
2 From: Ray Strode <rstrode@redhat.com>
3 Date: Thu, 14 Sep 2017 14:46:13 -0400
4 Subject: [PATCH] gtk-embed: ensure we only listen for window-created events
5 once
6
7 If a tray icon gets a mapped and unmapped and the mapped again
8 in quick succession, we can end up with multiple handlers
9 listening for window creation events.
10
11 This commit tries to guard against that by only listening for
12 window-created events when we don't know the actor associated
13 with the icon.
14
15 https://bugzilla.gnome.org/show_bug.cgi?id=787361
16 ---
17 src/shell-gtk-embed.c | 15 ++++++++-------
18 1 file changed, 8 insertions(+), 7 deletions(-)
19
20 diff --git a/src/shell-gtk-embed.c b/src/shell-gtk-embed.c
21 index 176b41320..54061046b 100644
22 --- a/src/shell-gtk-embed.c
23 +++ b/src/shell-gtk-embed.c
24 @@ -124,13 +124,14 @@ shell_gtk_embed_on_window_mapped (GtkWidget *object,
25 ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
26 MetaDisplay *display = shell_global_get_display (shell_global_get ());
27
28 - /* Listen for new windows so we can detect when Mutter has
29 - created a MutterWindow for this window */
30 - priv->window_created_handler =
31 - g_signal_connect (display,
32 - "window-created",
33 - G_CALLBACK (shell_gtk_embed_window_created_cb),
34 - embed);
35 + if (priv->window_created_handler == 0 && priv->window_actor == NULL)
36 + /* Listen for new windows so we can detect when Mutter has
37 + created a MutterWindow for this window */
38 + priv->window_created_handler =
39 + g_signal_connect (display,
40 + "window-created",
41 + G_CALLBACK (shell_gtk_embed_window_created_cb),
42 + embed);
43 }
44
45 static void
46 --
47 2.13.5
48

  ViewVC Help
Powered by ViewVC 1.1.30