Accepting request 527289 from GNOME:Next

1

OBS-URL: https://build.opensuse.org/request/show/527289
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=327
This commit is contained in:
Dominique Leuenberger 2017-09-22 20:28:43 +00:00 committed by Git OBS Bridge
parent 2e3c21d03c
commit 9f074be7ee
3 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,47 @@
From 90c55e1977fde252b79bcfd9d0ef41144fb21fe2 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 14 Sep 2017 14:46:13 -0400
Subject: gtk-embed: ensure we only listen for window-created events once
If a tray icon gets a mapped and unmapped and the mapped again
in quick succession, we can end up with multiple handlers
listening for window creation events.
This commit tries to guard against that by only listening for
window-created events when we don't know the actor associated
with the icon.
https://bugzilla.gnome.org/show_bug.cgi?id=787361
---
src/shell-gtk-embed.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/shell-gtk-embed.c b/src/shell-gtk-embed.c
index 176b413..5406104 100644
--- a/src/shell-gtk-embed.c
+++ b/src/shell-gtk-embed.c
@@ -124,13 +124,14 @@ shell_gtk_embed_on_window_mapped (GtkWidget *object,
ShellGtkEmbedPrivate *priv = shell_gtk_embed_get_instance_private (embed);
MetaDisplay *display = shell_global_get_display (shell_global_get ());
- /* Listen for new windows so we can detect when Mutter has
- created a MutterWindow for this window */
- priv->window_created_handler =
- g_signal_connect (display,
- "window-created",
- G_CALLBACK (shell_gtk_embed_window_created_cb),
- embed);
+ if (priv->window_created_handler == 0 && priv->window_actor == NULL)
+ /* Listen for new windows so we can detect when Mutter has
+ created a MutterWindow for this window */
+ priv->window_created_handler =
+ g_signal_connect (display,
+ "window-created",
+ G_CALLBACK (shell_gtk_embed_window_created_cb),
+ embed);
}
static void
--
cgit v0.12

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Sep 19 10:02:41 UTC 2017 - zaitor@opensuse.org
- Add gnome-shell-only-listen-window-created-events-once.patch:
gtk-embed: ensure we only listen for window-created events once
(bgo#787361).
-------------------------------------------------------------------
Mon Sep 18 07:31:56 UTC 2017 - xwang@suse.com

View File

@ -59,6 +59,8 @@ Patch16: gnome-shell-app-workaround-pkexec.patch
Patch17: gnome-shell-dateMenu-fixes.patch
# PATCH-FIX-UPSTREAM gnome-shell-fix-crash-hint-actor-NULL.patch bgo#787580 zaitor@opensuse.org -- StEntry: fix crash when hint actor is NULL
Patch18: gnome-shell-fix-crash-hint-actor-NULL.patch
# PATCH-FIX-UPSTREAM gnome-shell-only-listen-window-created-events-once.patch bgo#787361 zaitor@opensuse.org -- gtk-embed: ensure we only listen for window-created events once
Patch19: gnome-shell-only-listen-window-created-events-once.patch
## NOTE: Keep SLE Classic patches at bottom.
# PATCH-FEATURE-SLE gs-sle-classic-ext.patch bnc#862615 cxiong@suse.com -- add SLE Classic support
Patch1000: gs-sle-classic-ext.patch
@ -201,6 +203,7 @@ into GNOME Shell calendar.
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%if !0%{?is_opensuse}
%patch1000 -p1