summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2009-11-02 21:52:22 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2009-11-02 21:52:22 +0000
commit506550cb3639ad9deffbc86ebade026343468e55 (patch)
tree6ec29347fd31687e94cd41670e3faa360304eb73 /gnome-base/gnome-panel/files
parentamd64/x86 stable, bug #291484 (diff)
downloadhistorical-506550cb3639ad9deffbc86ebade026343468e55.tar.gz
historical-506550cb3639ad9deffbc86ebade026343468e55.tar.bz2
historical-506550cb3639ad9deffbc86ebade026343468e55.zip
New version for GNOME 2.28.
Package-Manager: portage-2.2_rc48/cvs/Linux x86_64
Diffstat (limited to 'gnome-base/gnome-panel/files')
-rw-r--r--gnome-base/gnome-panel/files/gnome-panel-2.28.0-clock-applet-missing-cflags.patch24
-rw-r--r--gnome-base/gnome-panel/files/gnome-panel-2.28.0-crashes-xrandr.patch79
2 files changed, 103 insertions, 0 deletions
diff --git a/gnome-base/gnome-panel/files/gnome-panel-2.28.0-clock-applet-missing-cflags.patch b/gnome-base/gnome-panel/files/gnome-panel-2.28.0-clock-applet-missing-cflags.patch
new file mode 100644
index 000000000000..ccfd3f5899c9
--- /dev/null
+++ b/gnome-base/gnome-panel/files/gnome-panel-2.28.0-clock-applet-missing-cflags.patch
@@ -0,0 +1,24 @@
+From a2cb0e91f58b22832f4efc51acf1d1dd3efb6969 Mon Sep 17 00:00:00 2001
+From: Maxim Britov <maxim@office.modum.by>
+Date: Tue, 6 Oct 2009 19:16:51 +0200
+Subject: [PATCH] Fix missing $(PANEL_CFLAGS) for clock applet
+
+---
+ applets/clock/Makefile.am | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/applets/clock/Makefile.am b/applets/clock/Makefile.am
+index da5e0d9..a9b95f9 100644
+--- a/applets/clock/Makefile.am
++++ b/applets/clock/Makefile.am
+@@ -8,6 +8,7 @@ INCLUDES = \
+ $(WARN_CFLAGS) \
+ $(CLOCK_CFLAGS) \
+ $(POLKIT_CFLAGS) \
++ $(PANEL_CFLAGS) \
+ $(LIBPANEL_APPLET_CFLAGS) \
+ -DDATADIR=\""$(datadir)"\" \
+ -DBUILDERDIR=\""$(uidir)"\" \
+--
+1.6.5.rc2
+
diff --git a/gnome-base/gnome-panel/files/gnome-panel-2.28.0-crashes-xrandr.patch b/gnome-base/gnome-panel/files/gnome-panel-2.28.0-crashes-xrandr.patch
new file mode 100644
index 000000000000..3e72ee7c94fc
--- /dev/null
+++ b/gnome-base/gnome-panel/files/gnome-panel-2.28.0-crashes-xrandr.patch
@@ -0,0 +1,79 @@
+From 66b8e290bd0b767183cba583917907940b5b425a Mon Sep 17 00:00:00 2001
+From: Vincent Untz <vuntz@gnome.org>
+Date: Tue, 06 Oct 2009 10:47:52 +0000
+Subject: [panel] Fix crashes in various conditions with the new randr code
+
+If nothing had probed the randr screen resources before us and the X
+server is supporting randr 1.3, then we got no output, and therefore no
+monitor. The fix here is to actively probe for resources if we detect
+this case. See https://bugzilla.gnome.org/show_bug.cgi?id=597101
+
+Also, in some cases, all outputs appear disconnected. See
+https://bugzilla.novell.com/show_bug.cgi?id=543876
+
+To be completely on the safe side, if we get no monitor information from
+randr, even if it is successful, we fallback to the GTK+ method.
+---
+diff --git a/gnome-panel/panel-multiscreen.c b/gnome-panel/panel-multiscreen.c
+index 8a05221..4ed76ae 100644
+--- a/gnome-panel/panel-multiscreen.c
++++ b/gnome-panel/panel-multiscreen.c
+@@ -136,9 +136,17 @@ panel_multiscreen_get_randr_monitors_for_screen (GdkScreen *screen,
+ xroot = GDK_WINDOW_XWINDOW (gdk_screen_get_root_window (screen));
+
+ #if (RANDR_MAJOR > 1 || (RANDR_MAJOR == 1 && RANDR_MINOR >= 3))
+- if (have_randr_1_3)
++ if (have_randr_1_3) {
+ resources = XRRGetScreenResourcesCurrent (xdisplay, xroot);
+- else
++ if (resources->noutput == 0) {
++ /* This might happen if nothing tried to get randr
++ * resources from the server before, so we need an
++ * active probe. See comment #27 in
++ * https://bugzilla.gnome.org/show_bug.cgi?id=597101 */
++ XRRFreeScreenResources (resources);
++ resources = XRRGetScreenResources (xdisplay, xroot);
++ }
++ } else
+ resources = XRRGetScreenResources (xdisplay, xroot);
+ #else
+ resources = XRRGetScreenResources (xdisplay, xroot);
+@@ -205,6 +213,17 @@ panel_multiscreen_get_randr_monitors_for_screen (GdkScreen *screen,
+ return FALSE;
+ }
+
++ if (geometries->len == 0) {
++ /* This can happen in at least one case:
++ * https://bugzilla.novell.com/show_bug.cgi?id=543876 where all
++ * monitors appear disconnected (possibly because the screen
++ * is behing a KVM switch) -- see comment #8.
++ * There might be other cases too, so we stay on the safe side.
++ */
++ g_array_free (geometries, TRUE);
++ return FALSE;
++ }
++
+ *monitors_ret = geometries->len;
+ *geometries_ret = (GdkRectangle *) g_array_free (geometries, FALSE);
+
+@@ -238,9 +257,15 @@ panel_multiscreen_get_raw_monitors_for_screen (GdkScreen *screen,
+ int *monitors_ret,
+ GdkRectangle **geometries_ret)
+ {
+- if (panel_multiscreen_get_randr_monitors_for_screen (screen,
+- monitors_ret,
+- geometries_ret))
++ gboolean res;
++
++ *monitors_ret = 0;
++ *geometries_ret = NULL;
++
++ res = panel_multiscreen_get_randr_monitors_for_screen (screen,
++ monitors_ret,
++ geometries_ret);
++ if (res && *monitors_ret > 0)
+ return;
+
+ panel_multiscreen_get_gdk_monitors_for_screen (screen,
+--
+cgit v0.8.2