r53799 - in /desktop/experimental/gnome-shell/debian: changelog patches/0006-gtk-embed-stop-watching-for-new-windows-when-icon-is.patch patches/series
smcv at users.alioth.debian.org
smcv at users.alioth.debian.org
Wed Sep 13 09:27:27 UTC 2017
Author: smcv
Date: Wed Sep 13 09:27:27 2017
New Revision: 53799
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=53799
Log:
Add proposed patch fixing a crash in embedding
(Closes: #875609, LP: #1714745)
Added:
desktop/experimental/gnome-shell/debian/patches/0006-gtk-embed-stop-watching-for-new-windows-when-icon-is.patch
Modified:
desktop/experimental/gnome-shell/debian/changelog
desktop/experimental/gnome-shell/debian/patches/series
Modified: desktop/experimental/gnome-shell/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gnome-shell/debian/changelog?rev=53799&op=diff
==============================================================================
--- desktop/experimental/gnome-shell/debian/changelog [utf-8] (original)
+++ desktop/experimental/gnome-shell/debian/changelog [utf-8] Wed Sep 13 09:27:27 2017
@@ -1,3 +1,10 @@
+gnome-shell (3.26.0-2) UNRELEASED; urgency=medium
+
+ * Add proposed patch fixing a crash in embedding
+ (Closes: #875609, LP: #1714745)
+
+ -- Simon McVittie <smcv at debian.org> Wed, 13 Sep 2017 10:24:06 +0100
+
gnome-shell (3.26.0-1) experimental; urgency=medium
* Team upload
Added: desktop/experimental/gnome-shell/debian/patches/0006-gtk-embed-stop-watching-for-new-windows-when-icon-is.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gnome-shell/debian/patches/0006-gtk-embed-stop-watching-for-new-windows-when-icon-is.patch?rev=53799&op=file
==============================================================================
--- desktop/experimental/gnome-shell/debian/patches/0006-gtk-embed-stop-watching-for-new-windows-when-icon-is.patch (added)
+++ desktop/experimental/gnome-shell/debian/patches/0006-gtk-embed-stop-watching-for-new-windows-when-icon-is.patch [utf-8] Wed Sep 13 09:27:27 2017
@@ -0,0 +1,69 @@
+From f9080821137358d37598a261ab9e1bedeeb9557e Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Tue, 12 Sep 2017 13:28:38 -0400
+Subject: [PATCH] gtk-embed: stop watching for new windows when icon is
+ unmapped
+
+Right now an icon could map itself, unmap itself, then remap itself,
+and we'd end up leaking a signal handler to watch for new windows.
+
+Later if the icon gets destroyed the handler will get called with
+freed memory.
+
+This commit fixes that by connecting to "unmap" instead of "destroy"
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=787361
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=875609
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1714745
+Applied-upstream: no
+---
+ src/shell-gtk-embed.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/shell-gtk-embed.c b/src/shell-gtk-embed.c
+index 176b41320..8b9c7235c 100644
+--- a/src/shell-gtk-embed.c
++++ b/src/shell-gtk-embed.c
+@@ -33,8 +33,8 @@ static void shell_gtk_embed_set_window (ShellGtkEmbed *embed,
+ ShellEmbeddedWindow *window);
+
+ static void
+-shell_gtk_embed_on_window_destroy (GtkWidget *object,
+- ShellGtkEmbed *embed)
++shell_gtk_embed_on_window_unmapped (GtkWidget *object,
++ ShellGtkEmbed *embed)
+ {
+ shell_gtk_embed_set_window (embed, NULL);
+ }
+@@ -124,6 +124,8 @@ 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 ());
+
++ g_warn_if_fail (priv->window_created_handler == 0);
++
+ /* Listen for new windows so we can detect when Mutter has
+ created a MutterWindow for this window */
+ priv->window_created_handler =
+@@ -156,7 +158,7 @@ shell_gtk_embed_set_window (ShellGtkEmbed *embed,
+ g_object_unref (priv->window);
+
+ g_signal_handlers_disconnect_by_func (priv->window,
+- (gpointer)shell_gtk_embed_on_window_destroy,
++ (gpointer)shell_gtk_embed_on_window_unmapped,
+ embed);
+
+ g_signal_handlers_disconnect_by_func (priv->window,
+@@ -172,8 +174,8 @@ shell_gtk_embed_set_window (ShellGtkEmbed *embed,
+
+ _shell_embedded_window_set_actor (priv->window, embed);
+
+- g_signal_connect (priv->window, "destroy",
+- G_CALLBACK (shell_gtk_embed_on_window_destroy), embed);
++ g_signal_connect (priv->window, "unmap",
++ G_CALLBACK (shell_gtk_embed_on_window_unmapped), embed);
+
+ g_signal_connect (priv->window, "map",
+ G_CALLBACK (shell_gtk_embed_on_window_mapped), embed);
+--
+2.14.1
+
Modified: desktop/experimental/gnome-shell/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gnome-shell/debian/patches/series?rev=53799&op=diff
==============================================================================
--- desktop/experimental/gnome-shell/debian/patches/series [utf-8] (original)
+++ desktop/experimental/gnome-shell/debian/patches/series [utf-8] Wed Sep 13 09:27:27 2017
@@ -3,6 +3,7 @@
0003-dateMenu-Use-icon-for-message-indicator.patch
0004-StEntry-fix-crash-when-hint-actor-is-NULL.patch
0005-Update-Greek-translation.patch
+0006-gtk-embed-stop-watching-for-new-windows-when-icon-is.patch
27-nm-libexec-path.patch
#30-remoteMenu-Prevent-the-shell-from-becoming-unrespons.patch
41-handle-logind-fail.patch
More information about the pkg-gnome-commits
mailing list