diff -u gnome-panel-2.30.2/debian/changelog gnome-panel-2.30.2/debian/changelog --- gnome-panel-2.30.2/debian/changelog +++ gnome-panel-2.30.2/debian/changelog @@ -1,3 +1,12 @@ +gnome-panel (1:2.30.2-0ubuntu0.2) lucid-proposed; urgency=low + + * debian/patches/90_git_wnck_show_realize.patch, + debian/patches/91_git_wnck_pager_update.patch: + - git changes to fix races in the wnck-applet code leading to crashes + (lp: #508452) + + -- Sebastien Bacher Tue, 06 Jul 2010 12:13:01 +0200 + gnome-panel (1:2.30.2-0ubuntu0.1) lucid-proposed; urgency=low * New upstream version diff -u gnome-panel-2.30.2/debian/patches/series gnome-panel-2.30.2/debian/patches/series --- gnome-panel-2.30.2/debian/patches/series +++ gnome-panel-2.30.2/debian/patches/series @@ -17,2 +17,4 @@ 86_signal_curtain.patch +90_git_wnck_show_realize.patch +91_git_wnck_pager_update.patch 99_ltmain_as-needed.patch only in patch2: unchanged: --- gnome-panel-2.30.2.orig/debian/patches/90_git_wnck_show_realize.patch +++ gnome-panel-2.30.2/debian/patches/90_git_wnck_show_realize.patch @@ -0,0 +1,35 @@ +From a2498c7aa29a155fbf707bbcb07580353979329c Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 01 Jul 2010 18:08:50 +0000 +Subject: Don't show applet until after connecting to realize + +Otherwise, the realize signals may run before the handler +is hooked up, causing crashes down the line. + +https://bugzilla.gnome.org/show_bug.cgi?id=472773 +--- +diff --git a/applets/wncklet/workspace-switcher.c b/applets/wncklet/workspace-switcher.c +index 8e2a08e..02d18a8 100644 +--- a/applets/wncklet/workspace-switcher.c ++++ b/applets/wncklet/workspace-switcher.c +@@ -546,8 +546,6 @@ workspace_switcher_applet_fill (PanelApplet *applet) + * environments. See wnck_pager_set_orientation() doc */ + pager_update (pager); + +- gtk_widget_show (pager->applet); +- + g_signal_connect (G_OBJECT (pager->applet), + "realize", + G_CALLBACK (applet_realized), +@@ -569,6 +567,8 @@ workspace_switcher_applet_fill (PanelApplet *applet) + G_CALLBACK (applet_change_background), + pager); + ++ gtk_widget_show (pager->applet); ++ + panel_applet_set_background_widget (PANEL_APPLET (pager->applet), + GTK_WIDGET (pager->applet)); + +-- +cgit v0.8.3.1 + only in patch2: unchanged: --- gnome-panel-2.30.2.orig/debian/patches/91_git_wnck_pager_update.patch +++ gnome-panel-2.30.2/debian/patches/91_git_wnck_pager_update.patch @@ -0,0 +1,32 @@ +From c34e25bc9519eee11334f30857f66a8483bd32f7 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 01 Jul 2010 18:11:40 +0000 +Subject: Drop up front call to pager_update + +It's going to get called at realize time anyway, +and calling it early can actually be counter-productive, +since it checks state that may not be properly +initialized yet. + +https://bugzilla.gnome.org/show_bug.cgi?id=472773 +(cherry picked from commit 819b938de2b1c1805e2dc6b69866418a361c5244) +--- +diff --git a/applets/wncklet/workspace-switcher.c b/applets/wncklet/workspace-switcher.c +index 02d18a8..584eec2 100644 +--- a/applets/wncklet/workspace-switcher.c ++++ b/applets/wncklet/workspace-switcher.c +@@ -541,11 +541,6 @@ workspace_switcher_applet_fill (PanelApplet *applet) + gtk_container_add (GTK_CONTAINER (pager->applet), pager->pager); + gtk_widget_show (pager->pager); + +- /* we need to call this after the pager has been added to the +- * container, else it might not work in some cases in multiscreen +- * environments. See wnck_pager_set_orientation() doc */ +- pager_update (pager); +- + g_signal_connect (G_OBJECT (pager->applet), + "realize", + G_CALLBACK (applet_realized), +-- +cgit v0.8.3.1 +