From df11254fddfd186f3d947c9891ab85eca20739ab Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Mon, 7 Oct 2013 20:40:24 -0700 Subject: [PATCH] comments-dialog: Avoid segfault in comments dialog pasting very long text. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The code in wrap_line() used a GtkTextIter after an insertion invalidated it. In some setups, with a sufficiently long pasted text, this caused a Gtk-WARNING and a subsequent segfault. This commit fixes the problem by removing the offending code. In my testing, this didn't cause a UI regression. Reported by Bastián Díaz in the thread starting at http://lists.gnu.org/archive/html/bug-gnu-pspp/2013-10/msg00005.html --- src/ui/gui/comments-dialog.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/ui/gui/comments-dialog.c b/src/ui/gui/comments-dialog.c index 1d31777379..ba312ff01f 100644 --- a/src/ui/gui/comments-dialog.c +++ b/src/ui/gui/comments-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2007, 2010, 2011, 2012 Free Software Foundation + Copyright (C) 2007, 2010, 2011, 2012, 2013 Free Software Foundation This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -74,16 +74,10 @@ wrap_line (GtkTextBuffer *buffer, if ( chars > DOC_LINE_LENGTH ) { GtkTextIter line_fold = *iter; - GtkTextIter cursor; gtk_text_iter_set_line_offset (&line_fold, DOC_LINE_LENGTH); gtk_text_buffer_insert (buffer, &line_fold, "\r\n", 2); - - cursor = line_fold; - gtk_text_iter_forward_to_line_end (&cursor); - - gtk_text_buffer_place_cursor (buffer, &cursor); } } -- 2.30.2