[gnome-builder/gnome-builder-3-28] code-index: include files that have empty entries
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-28] code-index: include files that have empty entries
- Date: Sat, 26 May 2018 17:03:13 +0000 (UTC)
commit f3d20cf7e67200a391a94a8e46aaf5da0db74e7e
Author: Christian Hergert <chergert redhat com>
Date: Thu May 24 13:56:34 2018 -0700
code-index: include files that have empty entries
We want to increase the chance we have n_files match, so insert the record
for the file.
src/plugins/code-index/ide-code-index-builder.c | 26 ++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
---
diff --git a/src/plugins/code-index/ide-code-index-builder.c b/src/plugins/code-index/ide-code-index-builder.c
index 75a6f8208..c8563e75a 100644
--- a/src/plugins/code-index/ide-code-index-builder.c
+++ b/src/plugins/code-index/ide-code-index-builder.c
@@ -96,6 +96,7 @@ typedef struct
IdePersistentMapBuilder *map_builder;
DzlFuzzyIndexBuilder *fuzzy_builder;
guint32 file_id;
+ guint has_called : 1;
} AddEntriesData;
enum {
@@ -950,14 +951,22 @@ add_entries_to_index_next_entries_cb (GObject *object,
return;
}
- if (ret == NULL || ret->len == 0)
+ g_assert (ret != NULL);
+
+ cancellable = ide_task_get_cancellable (task);
+ task_data = ide_task_get_task_data (task);
+
+ /*
+ * Make sure that we at least insert the result set once, but ignore the
+ * follow up call if it has 0 results.
+ */
+ if (ret->len == 0 && task_data->has_called)
{
ide_task_return_boolean (task, TRUE);
return;
}
- cancellable = ide_task_get_cancellable (task);
- task_data = ide_task_get_task_data (task);
+ task_data->has_called = TRUE;
g_assert (task_data != NULL);
g_assert (IDE_IS_CODE_INDEX_ENTRIES (task_data->entries));
@@ -973,10 +982,13 @@ add_entries_to_index_next_entries_cb (GObject *object,
task_data->map_builder,
task_data->fuzzy_builder);
- ide_code_index_entries_next_entries_async (entries,
- cancellable,
- add_entries_to_index_next_entries_cb,
- g_steal_pointer (&task));
+ if (ret->len > 0)
+ ide_code_index_entries_next_entries_async (entries,
+ cancellable,
+ add_entries_to_index_next_entries_cb,
+ g_steal_pointer (&task));
+ else
+ ide_task_return_boolean (task, TRUE);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]