Jan Alexander Steffens 12 år sedan
förälder
incheckning
a5f93f0a10
2 ändrade filer med 45 tillägg och 3 borttagningar
  1. 37 0
      0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch
  2. 8 3
      PKGBUILD

+ 37 - 0
0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch

@@ -0,0 +1,37 @@
+From ace549c1bf1861b4cbaec6f2451a6341aa738bae Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Mon, 24 Jun 2013 18:09:04 +0200
+Subject: [PATCH] st: Be more forgiving when calling get_theme_node() on
+ unstaged widgets
+
+While it is obviously still an error to call get_theme_node() on a
+widget that hasn't been added to the stage hierarchy yet, asserting
+on it hasn't proven too successful in avoiding those errors - it's
+likely the most frequent reason for crash reports. Just accept that
+there'll always be code paths where we can hit this case and make
+it non-fatal.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=610279
+---
+ src/st/st-widget.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/st/st-widget.c b/src/st/st-widget.c
+index 42992ec..4875acc 100644
+--- a/src/st/st-widget.c
++++ b/src/st/st-widget.c
+@@ -608,8 +608,9 @@ st_widget_get_theme_node (StWidget *widget)
+ 
+       if (stage == NULL)
+         {
+-          g_error ("st_widget_get_theme_node called on the widget %s which is not in the stage.",
+-                    st_describe_actor (CLUTTER_ACTOR (widget)));
++          g_critical ("st_widget_get_theme_node called on the widget %s which is not in the stage.",
++                      st_describe_actor (CLUTTER_ACTOR (widget)));
++          return g_object_new (ST_TYPE_THEME_NODE, NULL);
+         }
+ 
+       if (parent_node == NULL)
+-- 
+1.8.3.1
+

+ 8 - 3
PKGBUILD

@@ -3,7 +3,7 @@
 
 pkgname=gnome-shell
 pkgver=3.8.3
-pkgrel=1
+pkgrel=2
 pkgdesc="The next generation GNOME Shell"
 arch=(i686 x86_64)
 url="http://live.gnome.org/GnomeShell"
@@ -18,15 +18,20 @@ options=('!libtool' '!emptydirs')
 install=gnome-shell.install
 groups=(gnome)
 source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz
-        nm-libexecdir.patch)
+        nm-libexecdir.patch
+        0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch)
 sha256sums=('145724f21ead9dbe0c39d3ab468b39264c7aaf3f0fa5d152b295d905d8339c22'
-            'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607')
+            'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607'
+            'c5f0c9b071d5c31e11289c45743e1f82f6bba8201a28e0efb7a197f57cbb2105')
 
 prepare() {
   cd $pkgname-$pkgver
 
   # FS#30747 FS#32730 Problems due to libexecdir different from NM
   patch -Np1 -i ../nm-libexecdir.patch
+
+  # FS#35174 Nautilus crashes GS
+  patch -Np1 -i ../0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch
 }
 
 build() {