summaryrefslogtreecommitdiff
path: root/src/nautilus-files-view.c
diff options
context:
space:
mode:
authorJoshua Lee <lee.son.wai@gmail.com>2020-06-16 19:02:33 +0100
committerJoshua Lee <lee.son.wai@gmail.com>2020-07-08 19:37:24 +0100
commitb0f53527bf789baad0239e3fde2b6bac09e60185 (patch)
treef0af1f79ddf8f6514e4cadbc6b73d8536f888eec /src/nautilus-files-view.c
parentd275c8bde184ca1fa71292e2f2ed5e911b731531 (diff)
downloadnautilus-b0f53527bf789baad0239e3fde2b6bac09e60185.tar.gz
files-view: Remove custom signal handler disconnection
GLib's new g_clear_signal_handler() allows us to concisely disconnect signal handlers, negating the need for custom functions to do the same. Fixes: #1522
Diffstat (limited to 'src/nautilus-files-view.c')
-rw-r--r--src/nautilus-files-view.c53
1 files changed, 10 insertions, 43 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 75ed250b8..2d8439283 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -190,11 +190,11 @@ typedef struct
guint update_interval;
guint64 last_queued;
- guint files_added_handler_id;
- guint files_changed_handler_id;
- guint load_error_handler_id;
- guint done_loading_handler_id;
- guint file_changed_handler_id;
+ gulong files_added_handler_id;
+ gulong files_changed_handler_id;
+ gulong load_error_handler_id;
+ gulong done_loading_handler_id;
+ gulong file_changed_handler_id;
/* Containers with FileAndDirectory* elements */
GList *new_added_files;
@@ -8714,39 +8714,6 @@ metadata_for_files_in_directory_ready_callback (NautilusDirectory *directory,
}
static void
-disconnect_handler (GObject *object,
- guint *id)
-{
- if (*id != 0)
- {
- g_signal_handler_disconnect (object, *id);
- *id = 0;
- }
-}
-
-static void
-disconnect_directory_handler (NautilusFilesView *view,
- guint *id)
-{
- NautilusFilesViewPrivate *priv;
-
- priv = nautilus_files_view_get_instance_private (view);
-
- disconnect_handler (G_OBJECT (priv->model), id);
-}
-
-static void
-disconnect_directory_as_file_handler (NautilusFilesView *view,
- guint *id)
-{
- NautilusFilesViewPrivate *priv;
-
- priv = nautilus_files_view_get_instance_private (view);
-
- disconnect_handler (G_OBJECT (priv->directory_as_file), id);
-}
-
-static void
disconnect_model_handlers (NautilusFilesView *view)
{
NautilusFilesViewPrivate *priv;
@@ -8757,11 +8724,11 @@ disconnect_model_handlers (NautilusFilesView *view)
{
return;
}
- disconnect_directory_handler (view, &priv->files_added_handler_id);
- disconnect_directory_handler (view, &priv->files_changed_handler_id);
- disconnect_directory_handler (view, &priv->done_loading_handler_id);
- disconnect_directory_handler (view, &priv->load_error_handler_id);
- disconnect_directory_as_file_handler (view, &priv->file_changed_handler_id);
+ g_clear_signal_handler (&priv->files_added_handler_id, priv->model);
+ g_clear_signal_handler (&priv->files_changed_handler_id, priv->model);
+ g_clear_signal_handler (&priv->done_loading_handler_id, priv->model);
+ g_clear_signal_handler (&priv->load_error_handler_id, priv->model);
+ g_clear_signal_handler (&priv->file_changed_handler_id, priv->directory_as_file);
nautilus_file_cancel_call_when_ready (priv->directory_as_file,
metadata_for_directory_as_file_ready_callback,
view);