GNOME Bugzilla – Bug 327850
Evolution crashes with Redo operation twice in paste quatations
Last modified: 2006-02-13 12:03:49 UTC
Steps to reproduce: 1. Start evolution. 2. Choose [File] -> [New] -> [Mail Message] and open [Compose a message]. 3. Focus on the mail body and input 'a'. 4. Input Ctrl + a and then 'a' is selected. 5. Input Ctrl + c and then 'a' is copied. 6. Input Right arrow and the cursor is shifted. 7. Input Enter key. 8. Right click on the body and choose [Paste Quotation] and the the quotation is pasted. 9. Input Ctrl + z and then undo. 10. Input Ctrl + r and then redo. 11. Input Ctrl + r again. Result: evolution crashes. Stack trace: [1] _waitid(0x536, 0x8045b98, 0x0, 0x0), at 0xd0b38fe7 [2] _waitpid(0x536, 0x8045b98, 0x0), at 0xd0b057ef [3] waitpid(0x536, 0x8045b98, 0x0), at 0xd0b2d30e [4] libgnomeui_segv_handle(0xb, 0x0, 0x8045c64), at 0xd2a1d235 [5] __sighndlr(0xb, 0x0, 0x8045c64, 0x80db030), at 0xd0b3810f [6] call_user_handler(0xb, 0x0, 0x8045c64), at 0xd0b2de78 [7] sigacthandler(), at 0xd0b2dff1 ---- called from signal handler with signal 11 (SIGSEGV) ------ =>[8] action_do_and_destroy_redo(engine = 0x8691950, undo = 0x8691df0, stack = 0x8691df8, dir = HTML_UNDO_REDO), line 121 in "htmlundo.c" [9] html_undo_do_redo(undo = 0x8691df0, engine = 0x8691950), line 189 in "htmlundo.c" [10] html_engine_redo(e = 0x8691950), line 86 in "htmlengine-edit.c" [11] gtk_html_redo(html = 0x8690e80), line 3950 in "gtkhtml.c" [12] command(html = 0x8690e80, com_type = GTK_HTML_COMMAND_REDO), line 4341 in "gtkhtml.c" [13] gtk_html_command(html = 0x8690e80, command_name = 0xceb35280 "redo"), line 5124 in "gtkhtml.c" [14] command_cb(), at 0xceb267bf Other information: To reproduce, you must input a new line before paste quotation operation.
Gtkhtml issue, reassigning component
Created attachment 58793 [details] [review] patch At this case, undo_used.stack is empty when running second redo operation. Thus, we should check if stack is empty at first.
Patch committed in HEAD.