[gitg/wip/albfan/gtksourceview] Patch gtksourceview to iterate on SourceMark



commit d4b5da4d21e80ce13a6e5777b1e4080c9c9a42d6
Author: Alberto Fanjul <albertofanjul gmail com>
Date:   Thu Oct 24 02:49:47 2019 +0200

    Patch gtksourceview to iterate on SourceMark

 Mark-GtkTextIter-as-inout-parameters.patch  | 52 +++++++++++++++++++++++++++++
 libgitg/gitg-diff-view-file-selectable.vala |  8 ++---
 org.gnome.gitgDevel.json                    |  4 +++
 3 files changed, 60 insertions(+), 4 deletions(-)
---
diff --git a/Mark-GtkTextIter-as-inout-parameters.patch b/Mark-GtkTextIter-as-inout-parameters.patch
new file mode 100644
index 00000000..24859e0d
--- /dev/null
+++ b/Mark-GtkTextIter-as-inout-parameters.patch
@@ -0,0 +1,52 @@
+From 3e48a8daab915d3493e213fc833d389c52897e31 Mon Sep 17 00:00:00 2001
+From: Alberto Fanjul <albertofanjul gmail com>
+Date: Thu, 24 Oct 2019 02:28:11 +0200
+Subject: [PATCH] Mark GtkTextIter as inout parameters
+
+---
+ gtksourceview/gtksourcebuffer.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gtksourceview/gtksourcebuffer.c b/gtksourceview/gtksourcebuffer.c
+index 7be1f99a..04d2bd7b 100644
+--- a/gtksourceview/gtksourcebuffer.c
++++ b/gtksourceview/gtksourcebuffer.c
+@@ -2191,7 +2191,7 @@ _gtk_source_buffer_source_mark_prev (GtkSourceBuffer *buffer,
+ /**
+  * gtk_source_buffer_forward_iter_to_source_mark:
+  * @buffer: a #GtkSourceBuffer.
+- * @iter: an iterator.
++ * @iter: (inout): an iterator.
+  * @category: (nullable): category to search for, or %NULL
+  *
+  * Moves @iter to the position of the next #GtkSourceMark of the given
+@@ -2225,7 +2225,7 @@ gtk_source_buffer_forward_iter_to_source_mark (GtkSourceBuffer *buffer,
+ /**
+  * gtk_source_buffer_backward_iter_to_source_mark:
+  * @buffer: a #GtkSourceBuffer.
+- * @iter: an iterator.
++ * @iter: (inout): an iterator.
+  * @category: (nullable): category to search for, or %NULL
+  *
+  * Moves @iter to the position of the previous #GtkSourceMark of the given
+@@ -2500,7 +2500,7 @@ gtk_source_buffer_get_context_classes_at_iter (GtkSourceBuffer   *buffer,
+ /**
+  * gtk_source_buffer_iter_forward_to_context_class_toggle:
+  * @buffer: a #GtkSourceBuffer.
+- * @iter: a #GtkTextIter.
++ * @iter: (inout): a #GtkTextIter.
+  * @context_class: the context class.
+  *
+  * Moves forward to the next toggle (on or off) of the context class. If no
+@@ -2539,7 +2539,7 @@ gtk_source_buffer_iter_forward_to_context_class_toggle (GtkSourceBuffer *buffer,
+ /**
+  * gtk_source_buffer_iter_backward_to_context_class_toggle:
+  * @buffer: a #GtkSourceBuffer.
+- * @iter: a #GtkTextIter.
++ * @iter: (inout): a #GtkTextIter.
+  * @context_class: the context class.
+  *
+  * Moves backward to the next toggle (on or off) of the context class. If no
+--
+2.23.0
+
diff --git a/libgitg/gitg-diff-view-file-selectable.vala b/libgitg/gitg-diff-view-file-selectable.vala
index 46673c6f..92168c63 100644
--- a/libgitg/gitg-diff-view-file-selectable.vala
+++ b/libgitg/gitg-diff-view-file-selectable.vala
@@ -54,7 +54,7 @@ class Gitg.DiffViewFileSelectable : Object
 
                buffer.get_start_iter(out iter);
 
-               while (buffer.forward_iter_to_source_mark(iter, d_selection_category))
+               while (buffer.forward_iter_to_source_mark(ref iter, d_selection_category))
                {
                        ret += iter.get_line();
                }
@@ -146,7 +146,7 @@ class Gitg.DiffViewFileSelectable : Object
                {
                        selection_attributes.background = theme_selected_bg_color;
                }
-               
+
                if (context.lookup_color("theme_selected_fg_color", out theme_selected_fg_color))
                {
                        d_selection_tag.foreground_rgba = theme_selected_fg_color;
@@ -321,7 +321,7 @@ class Gitg.DiffViewFileSelectable : Object
 
                var buffer = source_view.buffer as Gtk.SourceBuffer;
 
-               if (!buffer.forward_iter_to_source_mark(iter, "header"))
+               if (!buffer.forward_iter_to_source_mark(ref iter, "header"))
                {
                        iter.forward_to_end();
                }
@@ -493,7 +493,7 @@ class Gitg.DiffViewFileSelectable : Object
                }
                else
                {
-                       something_selected = (buffer as Gtk.SourceBuffer).forward_iter_to_source_mark(iter, 
d_selection_category);
+                       something_selected = (buffer as Gtk.SourceBuffer).forward_iter_to_source_mark(ref 
iter, d_selection_category);
                }
 
                if (something_selected != has_selection)
diff --git a/org.gnome.gitgDevel.json b/org.gnome.gitgDevel.json
index bb1fd39e..a68aa638 100644
--- a/org.gnome.gitgDevel.json
+++ b/org.gnome.gitgDevel.json
@@ -153,6 +153,10 @@
                 {
                     "type" : "git",
                     "url" : "https://gitlab.gnome.org/GNOME/gtksourceview.git";
+                },
+                {
+                    "type": "patch",
+                    "path": "Mark-GtkTextIter-as-inout-parameters.patch"
                 }
             ]
         },


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