- Fix Nautilus 100% CPU after trashing a file with an emblem (#584784)

This commit is contained in:
Tomas Bzatek 2010-05-04 12:16:38 +00:00
parent 1d6b3f9493
commit fbf2c0217c
2 changed files with 46 additions and 1 deletions

View File

@ -0,0 +1,37 @@
From 0b1f1c87a01027459300b5965895def84286a361 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Thu, 29 Apr 2010 16:27:46 +0200
Subject: [PATCH] Fix stringv transfer over dbus
The wrong iterator passed in caused some items to be silently dropped
plus it led to string dup of wrong pointer.
See bug 614544 for reference.
---
common/gvfsdaemonprotocol.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/common/gvfsdaemonprotocol.c b/common/gvfsdaemonprotocol.c
index 7feefeb..9070cbc 100644
--- a/common/gvfsdaemonprotocol.c
+++ b/common/gvfsdaemonprotocol.c
@@ -128,6 +128,7 @@ _g_dbus_attribute_as_pointer (GFileAttributeType type,
case G_FILE_ATTRIBUTE_TYPE_STRING:
case G_FILE_ATTRIBUTE_TYPE_BYTE_STRING:
case G_FILE_ATTRIBUTE_TYPE_OBJECT:
+ case G_FILE_ATTRIBUTE_TYPE_STRINGV:
return value->ptr;
default:
return (gpointer) value;
@@ -372,7 +373,7 @@ _g_dbus_get_file_attribute (DBusMessageIter *iter,
{
char **strv;
int n_elements;
- if (!_g_dbus_message_iter_get_args (iter, NULL,
+ if (!_g_dbus_message_iter_get_args (&variant_iter, NULL,
DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &strv, &n_elements,
0))
goto error;
--
1.7.0.1

View File

@ -1,7 +1,7 @@
Summary: Backends for the gio framework in GLib Summary: Backends for the gio framework in GLib
Name: gvfs Name: gvfs
Version: 1.6.1 Version: 1.6.1
Release: 2%{?dist} Release: 3%{?dist}
License: LGPLv2+ License: LGPLv2+
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.gtk.org URL: http://www.gtk.org
@ -40,6 +40,10 @@ Patch0: gvfs-archive-integration.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=552856 # https://bugzilla.redhat.com/show_bug.cgi?id=552856
Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
# If you delete an empty folder with an emblem, and then try to open your trash nautilus hangs
# https://bugzilla.gnome.org/show_bug.cgi?id=614544
Patch16: gvfs-1.6.2-stringv-dbus.patch
Obsoletes: gnome-mount <= 0.8 Obsoletes: gnome-mount <= 0.8
Obsoletes: gnome-mount-nautilus-properties <= 0.8 Obsoletes: gnome-mount-nautilus-properties <= 0.8
@ -136,6 +140,7 @@ including phones and music players to applications using gvfs.
%setup -q %setup -q
%patch0 -p1 -b .archive-integration %patch0 -p1 -b .archive-integration
%patch15 -p1 -b .gphoto2-storageinfo %patch15 -p1 -b .gphoto2-storageinfo
%patch16 -p1 -b .stringv-dbus
%build %build
@ -301,6 +306,9 @@ killall -USR1 gvfsd >&/dev/null || :
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor %{_datadir}/gvfs/remote-volume-monitors/afc.monitor
%changelog %changelog
* Tue May 4 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.6.1-3
- Fix Nautilus 100% CPU after trashing a file with an emblem (#584784)
* Mon Apr 26 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.6.1-2 * Mon Apr 26 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.6.1-2
- Explicitly require minimal glib2 version (#585912) - Explicitly require minimal glib2 version (#585912)