[maemo-commits] [maemo-commits] r17809 - in projects/haf/trunk/gtk+: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Mar 26 15:37:21 EET 2009
Author: kris
Date: 2009-03-26 15:37:11 +0200 (Thu, 26 Mar 2009)
New Revision: 17809

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gtk/gtktextview.c
Log:
2009-03-26  Kristian Rietveld  <kris at imendio.com>

	Fixes: NB#102487 - Crash when closing conversation view window.

	* gtk/gtktextview.c (gtk_text_view_queue_scroll): check if the given
	mark is in text view's current buffer, bail out if not.



Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2009-03-26 12:21:43 UTC (rev 17808)
+++ projects/haf/trunk/gtk+/ChangeLog	2009-03-26 13:37:11 UTC (rev 17809)
@@ -1,3 +1,10 @@
+2009-03-26  Kristian Rietveld  <kris at imendio.com>
+
+	Fixes: NB#102487 - Crash when closing conversation view window.
+
+	* gtk/gtktextview.c (gtk_text_view_queue_scroll): check if the given
+	mark is in text view's current buffer, bail out if not.
+
 2009-03-24  Claudio Saavedra  <csaavedra at igalia.com>
 
 	Released 2:2.12.12-1maemo12

Modified: projects/haf/trunk/gtk+/gtk/gtktextview.c
===================================================================
--- projects/haf/trunk/gtk+/gtk/gtktextview.c	2009-03-26 12:21:43 UTC (rev 17808)
+++ projects/haf/trunk/gtk+/gtk/gtktextview.c	2009-03-26 13:37:11 UTC (rev 17809)
@@ -1852,6 +1852,7 @@
                             gdouble        xalign,
                             gdouble        yalign)
 {
+  const char *mark_name;
   GtkTextIter iter;
   GtkTextPendingScroll *scroll;
 
@@ -1864,6 +1865,12 @@
   scroll->xalign = xalign;
   scroll->yalign = yalign;
   
+  /* We need to verify that the buffer contains the mark, otherwise this
+   * can lead to data structure corruption later on.
+   */
+  mark_name = gtk_text_mark_get_name (mark);
+  g_return_if_fail (gtk_text_buffer_get_mark (get_buffer (text_view), mark_name));
+
   gtk_text_buffer_get_iter_at_mark (get_buffer (text_view), &iter, mark);
 
   scroll->mark = gtk_text_buffer_create_mark (get_buffer (text_view),


More information about the maemo-commits mailing list