diff --git a/nautilus-2.16.2-directory-unref-crash.patch b/nautilus-2.16.2-directory-unref-crash.patch new file mode 100644 index 0000000..02d957c --- /dev/null +++ b/nautilus-2.16.2-directory-unref-crash.patch @@ -0,0 +1,20 @@ +--- nautilus-2.16.2/libnautilus-private/nautilus-directory-async.c.crash 2006-11-13 12:43:34.000000000 +0100 ++++ nautilus-2.16.2/libnautilus-private/nautilus-directory-async.c 2006-11-13 12:45:21.000000000 +0100 +@@ -1858,6 +1858,8 @@ + directory = NAUTILUS_DIRECTORY (callback_data); + directory->details->call_ready_idle_id = 0; + ++ nautilus_directory_ref (directory); ++ + callback = NULL; + while (1) { + /* Check if any callbacks are non-active and call them if they are. */ +@@ -1886,6 +1888,8 @@ + update_metadata_monitors (directory); + + nautilus_directory_async_state_changed (directory); ++ ++ nautilus_directory_unref (directory); + + return FALSE; + } diff --git a/nautilus.spec b/nautilus.spec index 406d97f..a3dbc63 100644 --- a/nautilus.spec +++ b/nautilus.spec @@ -24,7 +24,7 @@ Name: nautilus Summary: Nautilus is a file manager for GNOME. Version: 2.16.2 -Release: 4%{?dist} +Release: 5%{?dist} License: GPL Group: User Interface/Desktops Source: ftp://ftp.gnome.org/pub/GNOME/sources/2.7/%{name}/%{name}-%{version}.tar.bz2 @@ -90,6 +90,8 @@ Patch2: nautilus-2.15.2-format.patch Patch3: background-no-delay.patch Patch5: nautilus-2.16.2-selinux.patch Patch7: nautilus-2.16.2-icons-overlap-revert.patch +# From upstream +Patch8: nautilus-2.16.2-directory-unref-crash.patch %description Nautilus integrates access to files, applications, media, @@ -123,6 +125,7 @@ for writing nautilus extensions. %patch3 -p1 -b .no-delay %patch5 -p1 -b .selinux %patch7 -p1 -b .icons-overlap-revert +%patch8 -p1 -b .directory-unref-crash %build @@ -216,6 +219,9 @@ scrollkeeper-update %{_libdir}/*.so %changelog +* Mon Nov 13 2006 Alexander Larsson - 2.16.2-5.fc7 +- Fix commonly reported NautilusDirectory crash + * Wed Nov 8 2006 Alexander Larsson - 2.16.2-4.fc7 - Revert upstream icon placement patch as it seems broken