[nautilus] search-engine-recent: don't ref/unref query added to self



commit 9d16ff2e21b49d0efa7ca51ff3e20c450aaa3c5e
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Thu Oct 4 17:21:53 2018 +0200

    search-engine-recent: don't ref/unref query added to self
    
    Since this is already part of the search engine struct, and given
    that we ref it, there's no point of reffing the query again.
    
    Also not to create a mem-leak when we don't run it.

 src/nautilus-search-engine-recent.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
---
diff --git a/src/nautilus-search-engine-recent.c b/src/nautilus-search-engine-recent.c
index bbd0d820c..b851c0ae2 100644
--- a/src/nautilus-search-engine-recent.c
+++ b/src/nautilus-search-engine-recent.c
@@ -103,15 +103,15 @@ search_thread_add_hits_idle (gpointer user_data)
     }
 
     g_list_free_full (search_hits->hits, g_object_unref);
-    g_object_unref (self->query);
     g_clear_object (&self->cancellable);
-    g_object_unref (self);
     g_free (search_hits);
 
     nautilus_search_provider_finished (provider,
                                        NAUTILUS_SEARCH_PROVIDER_STATUS_NORMAL);
     g_object_notify (G_OBJECT (provider), "running");
 
+    g_object_unref (self);
+
     return FALSE;
 }
 
@@ -318,9 +318,6 @@ nautilus_search_engine_recent_start (NautilusSearchProvider *provider)
     g_return_if_fail (self->query);
     g_return_if_fail (self->cancellable == NULL);
 
-    g_object_ref (self);
-    g_object_ref (self->query);
-
     location = nautilus_query_get_location (self->query);
 
     if (!is_recursive_search (NAUTILUS_SEARCH_ENGINE_TYPE_INDEXED,
@@ -329,12 +326,13 @@ nautilus_search_engine_recent_start (NautilusSearchProvider *provider)
     {
         SearchHitsData *search_hits;
         search_hits = g_new0 (SearchHitsData, 1);
-        search_hits->recent = self;
+        search_hits->recent = g_object_ref (self);
 
         g_idle_add (search_thread_add_hits_idle, search_hits);
         return;
     }
 
+    g_object_ref (self);
     self->cancellable = g_cancellable_new ();
 
     thread = g_thread_new ("nautilus-search-recent", recent_thread_func, self);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]