[gnome-builder/wip/chergert/clang] clang: sort results when rebuilding linked list
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/clang] clang: sort results when rebuilding linked list
- Date: Wed, 2 May 2018 19:02:04 +0000 (UTC)
commit c65a85c5ece40f7838a9c794436a54ce52927b19
Author: Christian Hergert <chergert redhat com>
Date: Wed May 2 12:01:31 2018 -0700
clang: sort results when rebuilding linked list
src/plugins/clang/ide-clang-proposals.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/src/plugins/clang/ide-clang-proposals.c b/src/plugins/clang/ide-clang-proposals.c
index 384cfef76..9c84b5926 100644
--- a/src/plugins/clang/ide-clang-proposals.c
+++ b/src/plugins/clang/ide-clang-proposals.c
@@ -238,6 +238,14 @@ ide_clang_proposals_clear (IdeClangProposals *self)
g_list_free_full (list, g_object_unref);
}
+static gint
+sort_by_priority (gconstpointer a,
+ gconstpointer b)
+{
+ return (gint)((IdeClangCompletionItem *)a)->priority -
+ (gint)((IdeClangCompletionItem *)b)->priority;
+}
+
IdeClangProposals *
ide_clang_proposals_new (IdeClangClient *client)
{
@@ -292,6 +300,8 @@ ide_clang_proposals_refilter_array (IdeClangProposals *self)
prev = item;
}
+
+ self->head = head;
}
else
{
@@ -316,12 +326,12 @@ ide_clang_proposals_refilter_array (IdeClangProposals *self)
prev = item;
}
+
+ self->head = g_list_sort (head, sort_by_priority);
}
if (prev != NULL)
prev->link.next = NULL;
-
- self->head = head;
}
static void
@@ -370,7 +380,7 @@ ide_clang_proposals_refilter_list (IdeClangProposals *self)
if (prev != NULL)
prev->link.next = NULL;
- self->head = head;
+ self->head = g_list_sort (head, sort_by_priority);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]