diff options
author | Kristian Rietveld <kris@gtk.org> | 2009-09-04 17:40:12 +0200 |
---|---|---|
committer | Kristian Rietveld <kris@gtk.org> | 2009-09-04 17:40:12 +0200 |
commit | a47aadb05ec83cecac777b31b03fba05504bc144 (patch) | |
tree | 4268f633e5b763fb1554acd9a614ee889a593080 /gtk/gtktextview.c | |
parent | 5ec80eb5ba09409ef36d8b9430d681bbd49e2872 (diff) | |
download | gtk+-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.c | 5 |
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); } |