From: Pierre Ossman Date: Mon, 4 Oct 2021 07:23:39 +0000 (+0200) Subject: searchenginemodel: finalize search results X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2^2~14 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=41a662ad2a6ac532f0ef9aff84e375bc90b7efcc;p=gtk4.git 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. --- 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; }