r47005 - in /desktop/unstable/gtk+3.0/debian: changelog patches/001-Revert-textbuffer-nicer-get_iter-functions.patch patches/002-Revert-inspector-remove-gtk_text_buffer_get_iter_at_.patch patches/series

biebl at users.alioth.debian.org biebl at users.alioth.debian.org
Thu Nov 12 17:50:52 UTC 2015


Author: biebl
Date: Thu Nov 12 17:50:52 2015
New Revision: 47005

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=47005
Log:
Revert "textbuffer: nicer get_iter functions" and related commits since
this broke the bindings API. (Closes: #804798)

Added:
    desktop/unstable/gtk+3.0/debian/patches/001-Revert-textbuffer-nicer-get_iter-functions.patch
    desktop/unstable/gtk+3.0/debian/patches/002-Revert-inspector-remove-gtk_text_buffer_get_iter_at_.patch
Modified:
    desktop/unstable/gtk+3.0/debian/changelog
    desktop/unstable/gtk+3.0/debian/patches/series

Modified: desktop/unstable/gtk+3.0/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B3.0/debian/changelog?rev=47005&op=diff
==============================================================================
--- desktop/unstable/gtk+3.0/debian/changelog	[utf-8] (original)
+++ desktop/unstable/gtk+3.0/debian/changelog	[utf-8] Thu Nov 12 17:50:52 2015
@@ -1,3 +1,10 @@
+gtk+3.0 (3.18.3-3) UNRELEASED; urgency=medium
+
+  * Revert "textbuffer: nicer get_iter functions" and related commits since
+    this broke the bindings API. (Closes: #804798)
+
+ -- Michael Biebl <biebl at debian.org>  Thu, 12 Nov 2015 18:48:41 +0100
+
 gtk+3.0 (3.18.3-2) unstable; urgency=medium
 
   * The placesview API was not supposed to be public, so those symbols were

Added: desktop/unstable/gtk+3.0/debian/patches/001-Revert-textbuffer-nicer-get_iter-functions.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B3.0/debian/patches/001-Revert-textbuffer-nicer-get_iter-functions.patch?rev=47005&op=file
==============================================================================
--- desktop/unstable/gtk+3.0/debian/patches/001-Revert-textbuffer-nicer-get_iter-functions.patch	(added)
+++ desktop/unstable/gtk+3.0/debian/patches/001-Revert-textbuffer-nicer-get_iter-functions.patch	[utf-8] Thu Nov 12 17:50:52 2015
@@ -0,0 +1,344 @@
+From 0dc66f5125196ee10c7e851b75f16e9f5669eb49 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Thu, 12 Nov 2015 10:34:48 -0500
+Subject: [PATCH 1/2] Revert "textbuffer: nicer get_iter functions"
+
+This reverts commit cf51c4f6dbd91dae1878a0cb0d08b24c67e15232.
+
+This change broke binding api.
+---
+ gtk/gtktextbuffer.c        |  95 ++++++++--------------------------
+ gtk/gtktextbuffer.h        |  34 ++++++-------
+ testsuite/gtk/textbuffer.c | 123 ---------------------------------------------
+ 3 files changed, 37 insertions(+), 215 deletions(-)
+
+diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c
+index 7295021..1bf1b68 100644
+--- a/gtk/gtktextbuffer.c
++++ b/gtk/gtktextbuffer.c
+@@ -2862,48 +2862,22 @@ gtk_text_buffer_remove_all_tags (GtkTextBuffer     *buffer,
+  * @line_number: line number counting from 0
+  * @char_offset: char offset from start of line
+  *
+- * Obtains an iterator pointing to @char_offset within the given line. Note
+- * characters, not bytes; UTF-8 may encode one character as multiple bytes.
+- *
+- * Before the 3.20 version, it was not allowed to pass an invalid location.
+- *
+- * Since the 3.20 version, if @line_number is greater than the number of lines
+- * in the @buffer, the end iterator is returned. And if @char_offset is off the
+- * end of the line, the iterator at the end of the line is returned.
+- *
+- * Returns: whether the exact position has been found (since 3.20).
++ * Obtains an iterator pointing to @char_offset within the given
++ * line. The @char_offset must exist, offsets off the end of the line
++ * are not allowed. Note characters, not bytes;
++ * UTF-8 may encode one character as multiple bytes.
+  **/
+-gboolean
++void
+ gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer,
+                                          GtkTextIter   *iter,
+                                          gint           line_number,
+                                          gint           char_offset)
+ {
+-  GtkTextIter end_line_iter;
+-
+-  g_return_val_if_fail (iter != NULL, FALSE);
+-  g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), FALSE);
+-
+-  if (line_number >= gtk_text_buffer_get_line_count (buffer))
+-    {
+-      gtk_text_buffer_get_end_iter (buffer, iter);
+-      return FALSE;
+-    }
+-
+-  _gtk_text_btree_get_iter_at_line_char (get_btree (buffer), iter, line_number, 0);
+-
+-  end_line_iter = *iter;
+-  if (!gtk_text_iter_ends_line (&end_line_iter))
+-    gtk_text_iter_forward_to_line_end (&end_line_iter);
+-
+-  if (char_offset > gtk_text_iter_get_line_offset (&end_line_iter))
+-    {
+-      *iter = end_line_iter;
+-      return FALSE;
+-    }
++  g_return_if_fail (iter != NULL);
++  g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
+ 
+-  gtk_text_iter_set_line_offset (iter, char_offset);
+-  return TRUE;
++  _gtk_text_btree_get_iter_at_line_char (get_btree (buffer),
++                                         iter, line_number, char_offset);
+ }
+ 
+ /**
+@@ -2914,48 +2888,21 @@ gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer,
+  * @byte_index: byte index from start of line
+  *
+  * Obtains an iterator pointing to @byte_index within the given line.
+- * @byte_index must be the start of a UTF-8 character. Note bytes, not
++ * @byte_index must be the start of a UTF-8 character, and must not be
++ * beyond the end of the line.  Note bytes, not
+  * characters; UTF-8 may encode one character as multiple bytes.
+- *
+- * Before the 3.20 version, it was not allowed to pass an invalid location.
+- *
+- * Since the 3.20 version, if @line_number is greater than the number of lines
+- * in the @buffer, the end iterator is returned. And if @byte_index is off the
+- * end of the line, the iterator at the end of the line is returned.
+- *
+- * Returns: whether the exact position has been found (since 3.20).
+  **/
+-gboolean
++void
+ gtk_text_buffer_get_iter_at_line_index  (GtkTextBuffer *buffer,
+                                          GtkTextIter   *iter,
+                                          gint           line_number,
+                                          gint           byte_index)
+ {
+-  GtkTextIter end_line_iter;
+-
+-  g_return_val_if_fail (iter != NULL, FALSE);
+-  g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), FALSE);
+-
+-  if (line_number >= gtk_text_buffer_get_line_count (buffer))
+-    {
+-      gtk_text_buffer_get_end_iter (buffer, iter);
+-      return FALSE;
+-    }
+-
+-  gtk_text_buffer_get_iter_at_line (buffer, iter, line_number);
+-
+-  end_line_iter = *iter;
+-  if (!gtk_text_iter_ends_line (&end_line_iter))
+-    gtk_text_iter_forward_to_line_end (&end_line_iter);
+-
+-  if (byte_index > gtk_text_iter_get_line_index (&end_line_iter))
+-    {
+-      *iter = end_line_iter;
+-      return FALSE;
+-    }
++  g_return_if_fail (iter != NULL);
++  g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
+ 
+-  gtk_text_iter_set_line_index (iter, byte_index);
+-  return TRUE;
++  _gtk_text_btree_get_iter_at_line_byte (get_btree (buffer),
++                                         iter, line_number, byte_index);
+ }
+ 
+ /**
+@@ -2966,18 +2913,16 @@ gtk_text_buffer_get_iter_at_line_index  (GtkTextBuffer *buffer,
+  *
+  * Initializes @iter to the start of the given line. If @line_number is greater
+  * than the number of lines in the @buffer, the end iterator is returned.
+- *
+- * Returns: whether the exact position has been found (since 3.20).
+  **/
+-gboolean
++void
+ gtk_text_buffer_get_iter_at_line (GtkTextBuffer *buffer,
+                                   GtkTextIter   *iter,
+                                   gint           line_number)
+ {
+-  g_return_val_if_fail (iter != NULL, FALSE);
+-  g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), FALSE);
++  g_return_if_fail (iter != NULL);
++  g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
+ 
+-  return gtk_text_buffer_get_iter_at_line_offset (buffer, iter, line_number, 0);
++  gtk_text_buffer_get_iter_at_line_offset (buffer, iter, line_number, 0);
+ }
+ 
+ /**
+diff --git a/gtk/gtktextbuffer.h b/gtk/gtktextbuffer.h
+index 8894542..9227be8 100644
+--- a/gtk/gtktextbuffer.h
++++ b/gtk/gtktextbuffer.h
+@@ -373,23 +373,23 @@ GtkTextTag    *gtk_text_buffer_create_tag (GtkTextBuffer *buffer,
+  * iterator around using the GtkTextIter operators
+  */
+ GDK_AVAILABLE_IN_ALL
+-gboolean gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer,
+-                                                  GtkTextIter   *iter,
+-                                                  gint           line_number,
+-                                                  gint           char_offset);
+-GDK_AVAILABLE_IN_ALL
+-gboolean gtk_text_buffer_get_iter_at_line_index  (GtkTextBuffer *buffer,
+-                                                  GtkTextIter   *iter,
+-                                                  gint           line_number,
+-                                                  gint           byte_index);
+-GDK_AVAILABLE_IN_ALL
+-void gtk_text_buffer_get_iter_at_offset          (GtkTextBuffer *buffer,
+-                                                  GtkTextIter   *iter,
+-                                                  gint           char_offset);
+-GDK_AVAILABLE_IN_ALL
+-gboolean gtk_text_buffer_get_iter_at_line        (GtkTextBuffer *buffer,
+-                                                  GtkTextIter   *iter,
+-                                                  gint           line_number);
++void gtk_text_buffer_get_iter_at_line_offset (GtkTextBuffer *buffer,
++                                              GtkTextIter   *iter,
++                                              gint           line_number,
++                                              gint           char_offset);
++GDK_AVAILABLE_IN_ALL
++void gtk_text_buffer_get_iter_at_line_index  (GtkTextBuffer *buffer,
++                                              GtkTextIter   *iter,
++                                              gint           line_number,
++                                              gint           byte_index);
++GDK_AVAILABLE_IN_ALL
++void gtk_text_buffer_get_iter_at_offset      (GtkTextBuffer *buffer,
++                                              GtkTextIter   *iter,
++                                              gint           char_offset);
++GDK_AVAILABLE_IN_ALL
++void gtk_text_buffer_get_iter_at_line        (GtkTextBuffer *buffer,
++                                              GtkTextIter   *iter,
++                                              gint           line_number);
+ GDK_AVAILABLE_IN_ALL
+ void gtk_text_buffer_get_start_iter          (GtkTextBuffer *buffer,
+                                               GtkTextIter   *iter);
+diff --git a/testsuite/gtk/textbuffer.c b/testsuite/gtk/textbuffer.c
+index 37243dc..6e16ff2 100644
+--- a/testsuite/gtk/textbuffer.c
++++ b/testsuite/gtk/textbuffer.c
+@@ -1434,128 +1434,6 @@ test_clipboard (void)
+   g_object_unref (buffer);
+ }
+ 
+-static void
+-test_get_iter (void)
+-{
+-  GtkTextBuffer *buffer;
+-  GtkTextIter iter;
+-  gint offset;
+-
+-  buffer = gtk_text_buffer_new (NULL);
+-
+-  /* ß takes 2 bytes in UTF-8 */
+-  gtk_text_buffer_set_text (buffer, "ab\nßd\r\nef", -1);
+-
+-  /* Test get_iter_at_line() */
+-  g_assert (gtk_text_buffer_get_iter_at_line (buffer, &iter, 0));
+-  g_assert (gtk_text_iter_is_start (&iter));
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line (buffer, &iter, 1));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 3);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line (buffer, &iter, 2));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 7);
+-
+-  g_assert (!gtk_text_buffer_get_iter_at_line (buffer, &iter, 3));
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  /* Test get_iter_at_line_offset() */
+-  g_assert (gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 0, 0));
+-  g_assert (gtk_text_iter_is_start (&iter));
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 0, 1));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 1);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 0, 2));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 2);
+-
+-  g_assert (!gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 0, 3));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 2);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 1, 1));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 4);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 2, 1));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 8);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 2, 2));
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  g_assert (!gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 2, 3));
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  g_assert (!gtk_text_buffer_get_iter_at_line_offset (buffer, &iter, 3, 1));
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  /* Test get_iter_at_line_index() */
+-  g_assert (gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 0, 0));
+-  g_assert (gtk_text_iter_is_start (&iter));
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 0, 1));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 1);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 0, 2));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 2);
+-
+-  g_assert (!gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 0, 3));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 2);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 1, 0));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 3);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 1, 2));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 4);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 1, 3));
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 5);
+-
+-  g_assert (gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 2, 2));
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  g_assert (!gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 2, 3));
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  g_assert (!gtk_text_buffer_get_iter_at_line_index (buffer, &iter, 3, 1));
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  /* Test get_iter_at_offset() */
+-  gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0);
+-  g_assert (gtk_text_iter_is_start (&iter));
+-
+-  gtk_text_buffer_get_iter_at_offset (buffer, &iter, 1);
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 1);
+-
+-  gtk_text_buffer_get_iter_at_offset (buffer, &iter, 8);
+-  offset = gtk_text_iter_get_offset (&iter);
+-  g_assert_cmpint (offset, ==, 8);
+-  g_assert (!gtk_text_iter_is_end (&iter));
+-
+-  gtk_text_buffer_get_iter_at_offset (buffer, &iter, 9);
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  gtk_text_buffer_get_iter_at_offset (buffer, &iter, 100);
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  gtk_text_buffer_get_iter_at_offset (buffer, &iter, -1);
+-  g_assert (gtk_text_iter_is_end (&iter));
+-
+-  g_object_unref (buffer);
+-}
+-
+ int
+ main (int argc, char** argv)
+ {
+@@ -1574,7 +1452,6 @@ main (int argc, char** argv)
+   g_test_add_func ("/TextBuffer/Fill and Empty", test_fill_empty);
+   g_test_add_func ("/TextBuffer/Tag", test_tag);
+   g_test_add_func ("/TextBuffer/Clipboard", test_clipboard);
+-  g_test_add_func ("/TextBuffer/Get iter", test_get_iter);
+ 
+   return g_test_run();
+ }
+-- 
+2.6.2
+

Added: desktop/unstable/gtk+3.0/debian/patches/002-Revert-inspector-remove-gtk_text_buffer_get_iter_at_.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B3.0/debian/patches/002-Revert-inspector-remove-gtk_text_buffer_get_iter_at_.patch?rev=47005&op=file
==============================================================================
--- desktop/unstable/gtk+3.0/debian/patches/002-Revert-inspector-remove-gtk_text_buffer_get_iter_at_.patch	(added)
+++ desktop/unstable/gtk+3.0/debian/patches/002-Revert-inspector-remove-gtk_text_buffer_get_iter_at_.patch	[utf-8] Thu Nov 12 17:50:52 2015
@@ -0,0 +1,72 @@
+From 511bd4fee7fa0c2abf394681713c6bce93b99b02 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Wilmet?= <swilmet at gnome.org>
+Date: Thu, 12 Nov 2015 17:23:16 +0100
+Subject: [PATCH 2/2] Revert "inspector: remove
+ gtk_text_buffer_get_iter_at_line_index() workaround"
+
+This reverts commit 1536710dbac58f0d46a6c308370e1e3864bf42e0.
+
+Because of the revert at
+commit 0dc66f5125196ee10c7e851b75f16e9f5669eb49.
+---
+ gtk/inspector/css-editor.c | 37 +++++++++++++++++++++++++++++--------
+ 1 file changed, 29 insertions(+), 8 deletions(-)
+
+diff --git a/gtk/inspector/css-editor.c b/gtk/inspector/css-editor.c
+index b11329d..776b3ac 100644
+--- a/gtk/inspector/css-editor.c
++++ b/gtk/inspector/css-editor.c
+@@ -249,6 +249,27 @@ text_changed (GtkTextBuffer         *buffer,
+   ce->priv->timeout = g_timeout_add (100, update_timeout, ce); 
+ }
+ 
++/* Safe version of gtk_text_buffer_get_iter_at_line_index(). */
++static void
++safe_get_iter_at_line_index (GtkTextBuffer *buffer,
++                             GtkTextIter   *iter,
++                             gint           line_number,
++                             gint           byte_index)
++{
++  if (line_number >= gtk_text_buffer_get_line_count (buffer))
++    {
++      gtk_text_buffer_get_end_iter (buffer, iter);
++      return;
++    }
++
++  gtk_text_buffer_get_iter_at_line (buffer, iter, line_number);
++
++  if (byte_index < gtk_text_iter_get_bytes_in_line (iter))
++    gtk_text_iter_set_line_index (iter, byte_index);
++  else
++    gtk_text_iter_forward_to_line_end (iter);
++}
++
+ static void
+ show_parsing_error (GtkCssProvider        *provider,
+                     GtkCssSection         *section,
+@@ -259,14 +280,14 @@ show_parsing_error (GtkCssProvider        *provider,
+   const char *tag_name;
+   GtkTextBuffer *buffer = GTK_TEXT_BUFFER (ce->priv->text);
+ 
+-  gtk_text_buffer_get_iter_at_line_index (buffer,
+-                                          &start,
+-                                          gtk_css_section_get_start_line (section),
+-                                          gtk_css_section_get_start_position (section));
+-  gtk_text_buffer_get_iter_at_line_index (buffer,
+-                                          &end,
+-                                          gtk_css_section_get_end_line (section),
+-                                          gtk_css_section_get_end_position (section));
++  safe_get_iter_at_line_index (buffer,
++                               &start,
++                               gtk_css_section_get_start_line (section),
++                               gtk_css_section_get_start_position (section));
++  safe_get_iter_at_line_index (buffer,
++                               &end,
++                               gtk_css_section_get_end_line (section),
++                               gtk_css_section_get_end_position (section));
+ 
+   if (g_error_matches (error, GTK_CSS_PROVIDER_ERROR, GTK_CSS_PROVIDER_ERROR_DEPRECATED))
+     tag_name = "warning";
+-- 
+2.6.2
+

Modified: desktop/unstable/gtk+3.0/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B3.0/debian/patches/series?rev=47005&op=diff
==============================================================================
--- desktop/unstable/gtk+3.0/debian/patches/series	[utf-8] (original)
+++ desktop/unstable/gtk+3.0/debian/patches/series	[utf-8] Thu Nov 12 17:50:52 2015
@@ -1,3 +1,5 @@
+001-Revert-textbuffer-nicer-get_iter-functions.patch
+002-Revert-inspector-remove-gtk_text_buffer_get_iter_at_.patch
 015_default-fallback-icon-theme.patch
 016_no_offscreen_widgets_grabbing.patch
 017_no_offscreen_device_grabbing.patch




More information about the pkg-gnome-commits mailing list