[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#598861: unblock: gnome-panel/2.30.2-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: freeze-exception

Hi,

please unblock gnome-panel for squeeze.

gnome-panel (2.30.2-2) unstable; urgency=low
 .
   * 03_tasklist_orientation.patch: new patch. Pass the task list
     orientation for the applet. It should fix #524117 for good.
     Closes: #592781
   * Require libwnck 2.30.0-3 for the new API.
   * Demote gnome-control-center to Recommends.
   * 30_crasher_realize.patch, 31_crasher_pager.patch: stolen upstream.
     Fix a pair of crashers that had been here for a long time.

Patches attached.

Note 1: some issues with the pager applet appeared simultaneously to
this upload, but they are not related to it. They were caused by the
libwnck new upstream release, and fixed later on. The libwnck version in
squeeze is not affected by the bug. 

Note 2: I have reviewed line by line the code behind
wnck_tasklist_set_orientation and I can assure it doesn’t do anything
for horizontal panels. 

Note 3: it depends on evolution-data-server too. I hope that 2.30.3 can
make it to squeeze now that Yves-Alexis fixed the most prominent
issues. 

Cheers,
-- 
 .''`.      Josselin Mouette
: :' :
`. `'  “If you behave this way because you are blackmailed by someone,
  `-    […] I will see what I can do for you.”  -- Jörg Schilling
Debian #524117
GNOME #513347

Index: gnome-panel-2.30.2/applets/wncklet/window-list.c
===================================================================
--- gnome-panel-2.30.2.orig/applets/wncklet/window-list.c	2010-06-22 19:27:02.000000000 +0200
+++ gnome-panel-2.30.2/applets/wncklet/window-list.c	2010-08-17 00:09:45.942053595 +0200
@@ -9,6 +9,7 @@
  */
 
 #define WNCK_I_KNOW_THIS_IS_UNSTABLE 1
+#define WNCK_I_KNOW_THIS_IS_NOT_UPSTREAM 1
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -130,7 +131,7 @@ applet_change_orient (PanelApplet
 		return;
   
 	tasklist->orientation = new_orient;
-
+        wnck_tasklist_set_orientation (tasklist->tasklist, new_orient);
 	tasklist_update (tasklist);
 }
 
@@ -518,7 +519,8 @@ window_list_applet_fill (PanelApplet *ap
 	}
 
 	tasklist->tasklist = wnck_tasklist_new (NULL);
-
+        wnck_tasklist_set_orientation (tasklist->tasklist, tasklist->orientation);
+        
         wnck_tasklist_set_icon_loader (WNCK_TASKLIST (tasklist->tasklist),
                                        icon_loader_func,
                                        tasklist,
From a2498c7aa29a155fbf707bbcb07580353979329c Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
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
From c34e25bc9519eee11334f30857f66a8483bd32f7 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
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

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: