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.
This commit is contained in:
Pierre Ossman 2021-10-04 09:23:39 +02:00
parent d4376ec0db
commit aca83684ed

View File

@ -84,6 +84,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))
{
@ -110,11 +111,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;
}