Date: Monday, May 7, 2012 @ 11:34:49
  Author: ibiru
Revision: 158696

fix crasher FS#29584

Added:
  nautilus/trunk/samba-crash.patch
Modified:
  nautilus/trunk/PKGBUILD

-------------------+
 PKGBUILD          |    9 ++++++---
 samba-crash.patch |   32 ++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2012-05-07 14:01:07 UTC (rev 158695)
+++ PKGBUILD    2012-05-07 15:34:49 UTC (rev 158696)
@@ -3,7 +3,7 @@
 
 pkgname=nautilus
 pkgver=3.4.1
-pkgrel=1
+pkgrel=2
 pkgdesc="GNOME file manager"
 arch=('i686' 'x86_64')
 license=('GPL')
@@ -13,11 +13,14 @@
 groups=('gnome')
 options=('!libtool' '!emptydirs')
 install=nautilus.install
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('02581c9475e9c4250960555b248378a6a1c63a5c029728ec48347c78ca77392d')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+        samba-crash.patch)
+sha256sums=('02581c9475e9c4250960555b248378a6a1c63a5c029728ec48347c78ca77392d'
+            'e437ced7bbebe49d2454b4daecd10cff39d1c427e9631fe0fe5325072ed6aefd')
 
 build() {
   cd "$pkgname-$pkgver"
+  patch -Np1 -i "$srcdir/samba-crash.patch"
   ./configure --prefix=/usr --sysconfdir=/etc \
       --localstatedir=/var --disable-static \
       --libexecdir=/usr/lib/nautilus \

Added: samba-crash.patch
===================================================================
--- samba-crash.patch                           (rev 0)
+++ samba-crash.patch   2012-05-07 15:34:49 UTC (rev 158696)
@@ -0,0 +1,32 @@
+From 4e59e4cfc7bc68534664d9f72d0c7ea680b79db3 Mon Sep 17 00:00:00 2001
+From: Cosimo Cecchi <[email protected]>
+Date: Fri, 04 May 2012 18:38:43 +0000
+Subject: places-sidebar: don't double unref GMount objects
+
+Fixes a lot of reported crashers with NFS/Samba volumes.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=674659
+---
+diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c
+index 61f3658..672a4b0 100644
+--- a/src/nautilus-places-sidebar.c
++++ b/src/nautilus-places-sidebar.c
+@@ -774,7 +774,7 @@ update_places (NautilusPlacesSidebar *sidebar)
+               root = g_mount_get_default_location (mount);
+ 
+               if (!g_file_is_native (root)) {
+-                      network_mounts = g_list_prepend (network_mounts, 
g_object_ref (mount));
++                      network_mounts = g_list_prepend (network_mounts, mount);
+                       continue;
+               }
+ 
+@@ -856,7 +856,6 @@ update_places (NautilusPlacesSidebar *sidebar)
+                          name, icon, mount_uri,
+                          NULL, NULL, mount, 0, tooltip);
+               g_object_unref (root);
+-              g_object_unref (mount);
+               g_object_unref (icon);
+               g_free (name);
+               g_free (mount_uri);
+--
+cgit v0.9.0.2

Reply via email to