Updating branch refs/heads/master to d47f4053b1ea47299f5ef501cd98e5d5c7cf2026 (commit) from 16c99c3c0550d440a8e83cf3fb0775bb04065ab6 (commit)
commit d47f4053b1ea47299f5ef501cd98e5d5c7cf2026 Author: Jannis Pohlmann <jan...@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 c02e6a5..f840b87 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,7 @@ - Fix sorting of filenames with large numbers (bug #5356). Patch by Eric Koegel. - Respect ThunarIconFactory::show-thumbnails. Fixes a regression. +- Fix crash when removing an ancestor of the current folder (bug #8168). 1.3.0 ===== diff --git a/thunar/thunar-folder.c b/thunar/thunar-folder.c index 73eb774..9ea6939 100644 --- a/thunar/thunar-folder.c +++ b/thunar/thunar-folder.c @@ -238,6 +238,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); } @@ -769,6 +770,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; _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits