[gnome-builder] buffer: block diagnostics signals until buffer is loaded



commit e6c2ec15029379c4cfd97fb5263138325ceccfd0
Author: Christian Hergert <chergert redhat com>
Date:   Fri Jul 21 15:44:34 2017 -0700

    buffer: block diagnostics signals until buffer is loaded
    
    The context will be set during construction, but we aren't ready to handle
    diagnostic changes until after that (as the diagnostics manager is also
    watching ::loaded).

 libide/buffers/ide-buffer.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/libide/buffers/ide-buffer.c b/libide/buffers/ide-buffer.c
index d260b76..50014da 100644
--- a/libide/buffers/ide-buffer.c
+++ b/libide/buffers/ide-buffer.c
@@ -1068,6 +1068,9 @@ ide_buffer_loaded (IdeBuffer *self)
   /* This is suspended until we've loaded */
   ide_highlight_engine_unpause (priv->highlight_engine);
 
+  /* Unblock our previously blocked signals */
+  dzl_signal_group_unblock (priv->diagnostics_manager_signals);
+
   IDE_EXIT;
 }
 
@@ -1708,6 +1711,8 @@ ide_buffer_init (IdeBuffer *self)
                                    G_CALLBACK (ide_buffer__diagnostics_manager__changed),
                                    self,
                                    G_CONNECT_SWAPPED);
+  /* Block signals until we've been loaded */
+  dzl_signal_group_block (priv->diagnostics_manager_signals);
 
   DZL_COUNTER_INC (instances);
 


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