summaryrefslogtreecommitdiff
path: root/gtk/gtktextview.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2009-09-04 17:40:12 +0200
committerKristian Rietveld <kris@gtk.org>2009-09-04 17:40:12 +0200
commita47aadb05ec83cecac777b31b03fba05504bc144 (patch)
tree4268f633e5b763fb1554acd9a614ee889a593080 /gtk/gtktextview.c
parent5ec80eb5ba09409ef36d8b9430d681bbd49e2872 (diff)
downloadgtk+-a47aadb05ec83cecac777b31b03fba05504bc144.tar.gz
Protect gtk_text_view_scroll_mark_onscreen() from using invalid marks
Suggested by Paolo Borelli.
Diffstat (limited to 'gtk/gtktextview.c')
-rw-r--r--gtk/gtktextview.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index ad9cba06f4..0c41e24c21 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -2194,6 +2194,11 @@ gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view,
g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
g_return_if_fail (GTK_IS_TEXT_MARK (mark));
+ /* We need to verify that the buffer contains the mark, otherwise this
+ * can lead to data structure corruption later on.
+ */
+ g_return_if_fail (get_buffer (text_view) == gtk_text_mark_get_buffer (mark));
+
gtk_text_view_scroll_to_mark (text_view, mark, 0.0, FALSE, 0.0, 0.0);
}