rpms/gnome-panel/F-10 gnome-panel-2.24.3-fix-multihead.patch, NONE, 1.1 gnome-panel.spec, 1.333, 1.334

Ray Strode rstrode at fedoraproject.org
Mon Mar 23 19:17:42 UTC 2009


Author: rstrode

Update of /cvs/pkgs/rpms/gnome-panel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23613

Modified Files:
	gnome-panel.spec 
Added Files:
	gnome-panel-2.24.3-fix-multihead.patch 
Log Message:
- Add patch to deal with some gtk+ multimonitor behavior changes
  (gnome bug 572933)


gnome-panel-2.24.3-fix-multihead.patch:

--- NEW FILE gnome-panel-2.24.3-fix-multihead.patch ---
--- trunk/gnome-panel/panel-multiscreen.c	2009/02/23 20:42:13	11529
+++ trunk/gnome-panel/panel-multiscreen.c	2009/02/24 02:43:20	11530
@@ -40,6 +40,25 @@
 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)
@@ -62,8 +81,14 @@
 
 		screen = gdk_display_get_screen (display, i);
 
+		/* We connect to both signals to be on the safe side, but in
+		 * theory, it should be enough to only connect to
+		 * monitors-changed. Since we'll likely get two signals, we do
+		 * the real callback in the idle loop. */
 		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 +130,7 @@
 
 		screen = gdk_display_get_screen (display, i);
 		g_signal_handlers_disconnect_by_func (screen,
-						      panel_multiscreen_reinit,
+						      panel_multiscreen_queue_reinit,
 						      NULL);
 	}
 


Index: gnome-panel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-panel/F-10/gnome-panel.spec,v
retrieving revision 1.333
retrieving revision 1.334
diff -u -r1.333 -r1.334
--- gnome-panel.spec	16 Jan 2009 05:49:05 -0000	1.333
+++ gnome-panel.spec	23 Mar 2009 19:17:11 -0000	1.334
@@ -23,7 +23,7 @@
 Summary: GNOME panel
 Name: gnome-panel
 Version: 2.24.3
-Release: 1%{?dist}
+Release: 2%{?dist}
 URL: http://www.gnome.org
 Source0: http://download.gnome.org/sources/gnome-panel/2.24/%{name}-%{version}.tar.bz2
 
@@ -123,6 +123,9 @@
 # http://bugzilla.gnome.org/show_bug.cgi?id=555710
 Patch36: tryexec.patch
 
+# http://bugzilla.gnome.org/572933
+Patch37: gnome-panel-2.24.3-fix-multihead.patch
+
 Conflicts: gnome-power-manager < 2.15.3
 
 %description
@@ -172,6 +175,7 @@
 %patch26 -p1 -b .hide-shutdown-item-if-unavailable
 %patch35 -p1 -b .clock-wakeups
 %patch36 -p1 -b .tryexec
+%patch37 -p1 -b .fix-multihead
 
 . %{SOURCE6}
 
@@ -371,6 +375,10 @@
 %{_datadir}/gtk-doc/html/*
 
 %changelog
+* Mon Mar 23 2009 Ray Strode <rstrode at redhat.com> - 2.24.3-2
+- Add patch to deal with some gtk+ multimonitor behavior changes
+  (gnome bug 572933)
+
 * Fri Jan 16 2009 Matthias Clasen <mclasen at redhat.com> - 2.24.3-1
 - Update to 2.24.3
 




More information about the fedora-extras-commits mailing list