summaryrefslogtreecommitdiff
path: root/extra/gnome-desktop/randr-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/gnome-desktop/randr-fix.patch')
-rw-r--r--extra/gnome-desktop/randr-fix.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/extra/gnome-desktop/randr-fix.patch b/extra/gnome-desktop/randr-fix.patch
new file mode 100644
index 000000000..c5d83ef2c
--- /dev/null
+++ b/extra/gnome-desktop/randr-fix.patch
@@ -0,0 +1,26 @@
+From aa93854f2ba6b0f72f1bdff9699b5724a72c89c9 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Sun, 01 May 2011 00:48:03 +0000
+Subject: Don't fall over if RANDR is missing
+
+When RANDR is not present, the screen object never gets an info,
+and since screen_info_free asserts, we must not call it unconditionally
+in finalize.
+This fixes https://bugzilla.gnome.org/show_bug.cgi?id=649053
+---
+diff --git a/libgnome-desktop/gnome-rr.c b/libgnome-desktop/gnome-rr.c
+index 4a9d98e..eb3d735 100644
+--- a/libgnome-desktop/gnome-rr.c
++++ b/libgnome-desktop/gnome-rr.c
+@@ -748,7 +748,8 @@ gnome_rr_screen_finalize (GObject *gobject)
+
+ gdk_window_remove_filter (screen->priv->gdk_root, screen_on_event, screen);
+
+- screen_info_free (screen->priv->info);
++ if (screen->priv->info)
++ screen_info_free (screen->priv->info);
+
+ G_OBJECT_CLASS (gnome_rr_screen_parent_class)->finalize (gobject);
+ }
+--
+cgit v0.9