[gtk/gtk-4-4] searchenginemodel: finalize search results



commit 41a662ad2a6ac532f0ef9aff84e375bc90b7efcc
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 af85e56c51..6832659ccb 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]