[gnome-builder/gnome-builder-3-26] sourceview: ensure indenter is	disabled
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [gnome-builder/gnome-builder-3-26] sourceview: ensure indenter is	disabled
- Date: Mon, 16 Oct 2017 09:10:33 +0000 (UTC)
commit 8b5397c0947eca2257075a79a019cd25faf006ef
Author: Christian Hergert <chergert redhat com>
Date:   Mon Oct 16 02:06:59 2017 -0700
    sourceview: ensure indenter is disabled
    
    When auto-indent is set to FALSE, we want to be sure that the
    indenter is disabled. So clear our extension match until it
    has been re-enabled or the language changed.
 libide/sourceview/ide-source-view.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/libide/sourceview/ide-source-view.c b/libide/sourceview/ide-source-view.c
index 3c8328b..d040018 100644
--- a/libide/sourceview/ide-source-view.c
+++ b/libide/sourceview/ide-source-view.c
@@ -851,10 +851,23 @@ static void
 ide_source_view_update_auto_indent_override (IdeSourceView *self)
 {
   IdeSourceViewPrivate *priv = ide_source_view_get_instance_private (self);
+  GtkSourceLanguage *language;
+  const gchar *lang_id = NULL;
   IdeIndenter *indenter;
 
   g_assert (IDE_IS_SOURCE_VIEW (self));
 
+  /* Update the indenter if necessary */
+  if (priv->auto_indent &&
+      priv->indenter_adapter != NULL &&
+      priv->buffer != NULL &&
+      NULL != (language = gtk_source_buffer_get_language (GTK_SOURCE_BUFFER (priv->buffer))))
+    lang_id = gtk_source_language_get_id (language);
+
+  if (priv->indenter_adapter != NULL)
+    ide_extension_adapter_set_value (priv->indenter_adapter, lang_id);
+
+  /* Fetch our indenter */
   indenter = ide_source_view_get_indenter (self);
 
   /*
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]