[gtksourceview] view: allow NULL out params for get_leading_trailing()
- From: SĂŠbastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] view: allow NULL out params for get_leading_trailing()
- Date: Sun, 16 Aug 2015 17:32:49 +0000 (UTC)
commit 6cb189458cda2d0564038c009430fdde21f49fb4
Author: SĂŠbastien Wilmet <swilmet gnome org>
Date: Sun Aug 16 19:25:35 2015 +0200
view: allow NULL out params for get_leading_trailing()
gtksourceview/gtksourceview.c | 69 +++++++++++++++++++++--------------------
1 files changed, 35 insertions(+), 34 deletions(-)
---
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
index ba41043..184ada5 100644
--- a/gtksourceview/gtksourceview.c
+++ b/gtksourceview/gtksourceview.c
@@ -2470,47 +2470,50 @@ get_leading_trailing (const GtkTextIter *iter,
GtkTextIter *leading,
GtkTextIter *trailing)
{
- g_assert (leading != NULL);
- g_assert (trailing != NULL);
-
- /* Find end of leading */
- *leading = *iter;
- gtk_text_iter_set_line_offset (leading, 0);
-
- while (!gtk_text_iter_is_end (leading))
+ /* Find end of leading whitespaces */
+ if (leading != NULL)
{
- gunichar ch = gtk_text_iter_get_char (leading);
+ *leading = *iter;
+ gtk_text_iter_set_line_offset (leading, 0);
- if (!g_unichar_isspace (ch))
+ while (!gtk_text_iter_is_end (leading))
{
- break;
- }
+ gunichar ch = gtk_text_iter_get_char (leading);
- gtk_text_iter_forward_char (leading);
- }
+ if (!g_unichar_isspace (ch))
+ {
+ break;
+ }
- /* Find start of trailing */
- *trailing = *iter;
- if (!gtk_text_iter_ends_line (trailing))
- {
- gtk_text_iter_forward_to_line_end (trailing);
+ gtk_text_iter_forward_char (leading);
+ }
}
- while (!gtk_text_iter_starts_line (trailing))
+ /* Find start of trailing whitespaces */
+ if (trailing != NULL)
{
- GtkTextIter prev;
- gunichar ch;
-
- prev = *trailing;
- gtk_text_iter_backward_char (&prev);
-
- ch = gtk_text_iter_get_char (&prev);
- if (!g_unichar_isspace (ch))
+ *trailing = *iter;
+ if (!gtk_text_iter_ends_line (trailing))
{
- break;
+ gtk_text_iter_forward_to_line_end (trailing);
}
- *trailing = prev;
+ while (!gtk_text_iter_starts_line (trailing))
+ {
+ GtkTextIter prev;
+ gunichar ch;
+
+ prev = *trailing;
+ gtk_text_iter_backward_char (&prev);
+
+ ch = gtk_text_iter_get_char (&prev);
+ if (!g_unichar_isspace (ch))
+ {
+ break;
+ }
+
+ *trailing = prev;
+ }
}
}
@@ -4069,7 +4072,6 @@ do_smart_backspace (GtkSourceView *view)
GtkTextIter insert;
GtkTextIter end;
GtkTextIter leading;
- GtkTextIter trailing;
guint visual_column;
gint indent_width;
@@ -4082,7 +4084,7 @@ do_smart_backspace (GtkSourceView *view)
}
/* If the line isn't empty up to our cursor, ignore. */
- get_leading_trailing (&insert, &leading, &trailing);
+ get_leading_trailing (&insert, &leading, NULL);
if (gtk_text_iter_compare (&leading, &insert) < 0)
{
return FALSE;
@@ -4154,7 +4156,6 @@ do_ctrl_backspace (GtkSourceView *view)
GtkTextIter insert;
GtkTextIter end;
GtkTextIter leading;
- GtkTextIter trailing;
gboolean default_editable;
buffer = GTK_TEXT_BUFFER (view->priv->source_buffer);
@@ -4180,7 +4181,7 @@ do_ctrl_backspace (GtkSourceView *view)
/* If only leading whitespaces are on the left of the cursor, delete up
* to the zero position.
*/
- get_leading_trailing (&insert, &leading, &trailing);
+ get_leading_trailing (&insert, &leading, NULL);
if (gtk_text_iter_compare (&insert, &leading) <= 0)
{
gtk_text_iter_set_line_offset (&insert, 0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]