[Xfce4-commits] <thunar:xfce-4.8> Fix crash when removing an ancestor of the current folder (bug #8168).
Jannis Pohlmann
noreply at xfce.org
Sun Feb 26 18:48:01 CET 2012
Updating branch refs/heads/xfce-4.8
to 71f6f207cfd0194a3f3db83cb5fab694a5036e22 (commit)
from aff99d32251455d163c26fce78f2dd6056b874aa (commit)
commit 71f6f207cfd0194a3f3db83cb5fab694a5036e22
Author: Jannis Pohlmann <jannis at xfce.org>
Date: Sun Feb 26 17:38:50 2012 +0000
Fix crash when removing an ancestor of the current folder (bug #8168).
Whenever we release the GFileMonitor of a ThunarFolder, we also need to
disconnect from its signals. Otherwise one of the signal handlers might
still be called, potentially with corrupted user data (which was the
case here).
NEWS | 1 +
thunar/thunar-folder.c | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/NEWS b/NEWS
index a0cb0dd..f91553e 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@
=====
- Fix sorting of filenames with large numbers (bug #5356).
Patch by Erik Koegel.
+- Fix crash when removing an ancestor of the current folder (bug #8168).
1.2.3
=====
diff --git a/thunar/thunar-folder.c b/thunar/thunar-folder.c
index 62015fe..4076b8d 100644
--- a/thunar/thunar-folder.c
+++ b/thunar/thunar-folder.c
@@ -236,6 +236,7 @@ thunar_folder_finalize (GObject *object)
/* disconnect from the file alteration monitor */
if (G_LIKELY (folder->monitor != NULL))
{
+ g_signal_handlers_disconnect_matched (folder->monitor, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, folder);
g_file_monitor_cancel (folder->monitor);
g_object_unref (folder->monitor);
}
@@ -705,6 +706,7 @@ thunar_folder_reload (ThunarFolder *folder)
/* disconnect from the file alteration monitor */
if (G_UNLIKELY (folder->monitor != NULL))
{
+ g_signal_handlers_disconnect_matched (folder->monitor, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, folder);
g_file_monitor_cancel (folder->monitor);
g_object_unref (folder->monitor);
folder->monitor = NULL;
More information about the Xfce4-commits
mailing list