[gnome-builder] completion: update available models immediately



commit a1d6fccd9b6484ab6a3421cea4333294c58f73db
Author: Christian Hergert <chergert redhat com>
Date:   Thu Jun 14 00:56:26 2018 -0700

    completion: update available models immediately
    
    Instead of waiting for the longest running completion provider to return,
    update the available models immediately.
    
    This fixes some annoyances with the snippet provider where we are
    activating an unexpected item.

 src/libide/completion/ide-completion.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/src/libide/completion/ide-completion.c b/src/libide/completion/ide-completion.c
index 8ac589185..199cc4141 100644
--- a/src/libide/completion/ide-completion.c
+++ b/src/libide/completion/ide-completion.c
@@ -381,9 +381,15 @@ ide_completion_update (IdeCompletion           *self,
     {
       IdeCompletionDisplay *display = ide_completion_get_display (self);
 
+      /*
+       * Make sure we update providers that have already delivered results
+       * even though some of them won't be ready yet.
+       */
+      _ide_completion_context_refilter (self->context);
+
       /*
        * If we're waiting for the results still to come in, then just mark
-       * that we need to do post-processing rather than trying to refilter now
+       * that we need to do post-processing rather than trying to refilter now.
        */
       if (self->waiting_for_results)
         {
@@ -391,8 +397,6 @@ ide_completion_update (IdeCompletion           *self,
           IDE_EXIT;
         }
 
-      _ide_completion_context_refilter (self->context);
-
       if (!ide_completion_context_is_empty (self->context))
         gtk_widget_show (GTK_WIDGET (display));
       else


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]