summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@fedoraproject.org>2009-02-24 00:37:13 +0000
committerMatthias Clasen <mclasen@fedoraproject.org>2009-02-24 00:37:13 +0000
commit51e0a944c08d52573ca7391b7b1cd1c73d0d3ca3 (patch)
treea18310a74580871ce5a4f405c8af2bdede1115ce
parentaf6066f569cccaf8e41adaa58a4afe092235edeb (diff)
downloadgnome-panel-51e0a944c08d52573ca7391b7b1cd1c73d0d3ca3.tar.gz
gnome-panel-51e0a944c08d52573ca7391b7b1cd1c73d0d3ca3.tar.xz
gnome-panel-51e0a944c08d52573ca7391b7b1cd1c73d0d3ca3.zip
fix panel resizinggnome-panel-2_25_91-2_fc11
-rw-r--r--gnome-panel.spec9
-rw-r--r--panel-resizing.patch49
2 files changed, 57 insertions, 1 deletions
diff --git a/gnome-panel.spec b/gnome-panel.spec
index 6acc19d..abaa17f 100644
--- a/gnome-panel.spec
+++ b/gnome-panel.spec
@@ -23,7 +23,7 @@
Summary: GNOME panel
Name: gnome-panel
Version: 2.25.91
-Release: 1%{?dist}
+Release: 2%{?dist}
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-panel/2.25/%{name}-%{version}.tar.bz2
@@ -113,6 +113,9 @@ Patch11: applet-error.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=520111
Patch24: gnome-panel-2.21.92-allow-spurious-view-done-signals.patch
+# http://bugzilla.gnome.org/show_bug.cgi?id=572933
+Patch25: panel-resizing.patch
+
Patch35: clock-wakeups.patch
Conflicts: gnome-power-manager < 2.15.3
@@ -160,6 +163,7 @@ Panel Applets using the libpanel-applet library.
%patch10 -p1 -b .preferred-apps
%patch11 -p1 -b .applet-error
%patch24 -p1 -b .allow-spurious-view-done-signals
+%patch25 -p1 -b .panel-resizing
%patch35 -p1 -b .clock-wakeups
libtoolize --force --copy
@@ -362,6 +366,9 @@ fi
%{_datadir}/gtk-doc/html/*
%changelog
+* Mon Feb 23 2009 Matthias Clasen <mclasen@redhat.com> - 2.25.91-2
+- Fix panel behaviour on screen size changes
+
* Thu Feb 19 2009 Matthias Clasen <mclasen@redhat.com> - 2.25.91-1
- Update to 2.25.91
diff --git a/panel-resizing.patch b/panel-resizing.patch
new file mode 100644
index 0000000..3fd9d52
--- /dev/null
+++ b/panel-resizing.patch
@@ -0,0 +1,49 @@
+--- gnome-panel-2.25.91/gnome-panel/panel-multiscreen.c 2009-02-17 04:25:39.000000000 -0500
++++ hacked/gnome-panel/panel-multiscreen.c 2009-02-23 19:23:06.571095094 -0500
+@@ -40,6 +40,26 @@
+ static int *monitors = NULL;
+ static GdkRectangle **geometries = NULL;
+ static gboolean initialized = FALSE;
++static guint reinit_id = 0;
++
++static gboolean
++panel_multiscreen_reinit_idle (gpointer data)
++{
++ panel_multiscreen_reinit ();
++
++ reinit_id = 0;
++
++ return FALSE;
++}
++
++static void
++panel_multiscreen_queue_reinit (void)
++{
++ if (reinit_id)
++ return;
++
++ reinit_id = g_idle_add (panel_multiscreen_reinit_idle, NULL);
++}
+
+ void
+ panel_multiscreen_init (void)
+@@ -63,7 +83,9 @@
+ screen = gdk_display_get_screen (display, i);
+
+ g_signal_connect (screen, "size-changed",
+- G_CALLBACK (panel_multiscreen_reinit), NULL);
++ G_CALLBACK (panel_multiscreen_queue_reinit), NULL);
++ g_signal_connect (screen, "monitors-changed",
++ G_CALLBACK (panel_multiscreen_queue_reinit), NULL);
+
+ monitors [i] = gdk_screen_get_n_monitors (screen);
+ geometries [i] = g_new0 (GdkRectangle, monitors [i]);
+@@ -105,7 +127,7 @@
+
+ screen = gdk_display_get_screen (display, i);
+ g_signal_handlers_disconnect_by_func (screen,
+- panel_multiscreen_reinit,
++ panel_multiscreen_queue_reinit,
+ NULL);
+ }
+