[gtk: 1/2] searchenginemodel: finalize search results




commit 34037c0550e538a07ff1d45a81a93318a805c845
Author: Pierre Ossman <ossman cendio se>
Date:   Mon Oct 4 09:23:39 2021 +0200

    searchenginemodel: finalize search results
    
    It is necessary to signal the search engine that we are finished and
    that we found something for it to reliably show the results. It would
    sometimes work anyway since it is sufficient if any backend signals
    completion. However if GtkSearchEngineModel was the only backend
    returning results then things would break.

 gtk/gtksearchenginemodel.c | 4 ++++
 1 file changed, 4 insertions(+)
---
diff --git a/gtk/gtksearchenginemodel.c b/gtk/gtksearchenginemodel.c
index e4dc7ad004..83ea00bdb0 100644
--- a/gtk/gtksearchenginemodel.c
+++ b/gtk/gtksearchenginemodel.c
@@ -81,6 +81,7 @@ do_search (gpointer data)
   GtkSearchEngineModel *model = data;
   GtkTreeIter iter;
   GList *hits = NULL;
+  gboolean got_results = FALSE;
 
   if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model->model), &iter))
     {
@@ -107,11 +108,14 @@ do_search (gpointer data)
         {
           _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (model), hits);
           g_list_free_full (hits, (GDestroyNotify)_gtk_search_hit_free);
+          got_results = TRUE;
         }
     }
 
   model->idle = 0;
 
+  _gtk_search_engine_finished (GTK_SEARCH_ENGINE (model), got_results);
+
   return G_SOURCE_REMOVE;
 }
 


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