From 41a662ad2a6ac532f0ef9aff84e375bc90b7efcc Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Mon, 4 Oct 2021 09:23:39 +0200 Subject: [PATCH] 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; } -- 2.30.2