node-editor: Don't remove all text tags when saving
authorBenjamin Otte <otte@redhat.com>
Fri, 10 May 2019 02:55:36 +0000 (04:55 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 12 May 2019 15:27:01 +0000 (17:27 +0200)
demos/node-editor/node-editor-window.c

index 0c460e608276c2eb3b9aa7ee659a2d5fd43c7ed3..bb6c37201c2374d61a92cb7d83c9c813cf2c8e8b 100644 (file)
@@ -68,11 +68,20 @@ get_current_text (GtkTextBuffer *buffer)
 
   gtk_text_buffer_get_start_iter (buffer, &start);
   gtk_text_buffer_get_end_iter (buffer, &end);
-  gtk_text_buffer_remove_all_tags (buffer, &start, &end);
 
   return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
 }
 
+static void
+text_buffer_remove_all_tags (GtkTextBuffer *buffer)
+{
+  GtkTextIter start, end;
+
+  gtk_text_buffer_get_start_iter (buffer, &start);
+  gtk_text_buffer_get_end_iter (buffer, &end);
+  gtk_text_buffer_remove_all_tags (buffer, &start, &end);
+}
+
 static void
 deserialize_error_func (const GtkCssSection *section,
                         const GError        *error,
@@ -146,6 +155,7 @@ text_changed (GtkTextBuffer    *buffer,
 
   g_array_remove_range (self->errors, 0, self->errors->len);
   text = get_current_text (self->text_buffer);
+  text_buffer_remove_all_tags (self->text_buffer);
   bytes = g_bytes_new_take (text, strlen (text));
 
   /* If this is too slow, go fix the parser performance */