View Issue Details

IDProjectCategoryView StatusLast Update
0012460ScribusUndo/Redopublic2015-03-17 15:38
ReporterFirasH Assigned Tojghali  
PrioritynormalSeverityblockReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSopenSUSEOS Version13.1
Product Version1.5.0svn 
Target Version1.5.0Fixed in Version1.5.0svn 
Summary0012460: Undo/Redo is not able to manage multiple "Truncate text" actions
DescriptionUndo/Redo is not able to manage more "Truncate text" actions.
Steps To ReproduceTo reproduce the wrong behaviour:

0) Create a new document and make sure Windows > Action History is opened
1) Insert a Text Frame
2) Select the Text Frame and Insert > Sample Text
3) Select the Text Frame and right-click > Contents > Truncate
4) Select the Text Frame and Insert > Sample Text
5) Select the Text Frame and right-click > Contents > Truncate
6) Undo 2 times

In Action History you can see "Selection - Truncate text" but the Text Frame is empty.
This happens also if step from 2 to 5 are repeated more times.

-----------------------

To reproduce the crash:

0) Create a new document
1) Insert 2 Text Frames
2) Add some Sample Text in both Text Frames
3) Truncate the text of both Text Frames
4) Undo until the undo button is greyed out.
5) Redo until the redo button is greyed out.
6) Undo once

Scribus crashes due to Signal 6
Additional InformationScribus 1.5.0.svn (19302)


Program received signal SIGABRT, Aborted.
0x00007fffef509849 in raise () from /lib64/libc.so.6
(gdb) bt
 0 0x00007fffef509849 in raise ()
   from /lib64/libc.so.6
 1 0x00007fffef50acd8 in abort ()
   from /lib64/libc.so.6
 2 0x00007ffff74168ae in QMessageLogger::fatal(char const*, ...) const ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 3 0x00007ffff7411d74 in qt_assert_x(char const*, char const*, char const*, int) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 4 0x0000000001271283 in QList<ScText*>::at (this=0x3092e70, i=826)
    at /home/.../Qt/5.3/gcc_64/include/QtCore/qlist.h:479
 5 0x000000000126c2da in StoryText::item (this=0x302f658, itm=826)
    at /home/.../Scribus/scribus/text/storytext.cpp:1740
 6 0x0000000001267e1f in StoryText::insertParSep (this=0x302f658, pos=826)
    at /home/.../Scribus/scribus/text/storytext.cpp:363
 7 0x00000000012686a4 in StoryText::insertChars (this=0x302f658, pos=406, txt=...,
    applyNeighbourStyle=false)
    at /home/.../Scribus/scribus/text/storytext.cpp:501
 8 0x00000000009b9e5c in PageItem::restoreDeleteFrameText (this=0x302f2a0, ss=0x3025200,
    isUndo=true) at /home/.../Scribus/scribus/pageitem.cpp:6827
 9 0x00000000009aa219 in PageItem::restore (this=0x302f2a0, state=0x3025200, isUndo=true)
    at /home/.../Scribus/scribus/pageitem.cpp:5183
 10 0x0000000000dec274 in UndoState::undo (this=0x3025200)
    at /home/.../Scribus/scribus/undostate.cpp:73
 11 0x0000000000ddcc04 in TransactionState::undo (this=0x2fa89e0)
    at /home/.../Scribus/scribus/undomanager.cpp:813
 12 0x0000000000deb3af in UndoStack::undo (this=0x34c70d0, steps=1, objectId=-1)
    at /home/.../Scribus/scribus/undostack.cpp:80
 13 0x0000000000ddb653 in UndoManager::undo (this=0x23cffc0, steps=1)
    at /home/.../Scribus/scribus/undomanager.cpp:555
 14 0x0000000000799612 in UndoManager::qt_static_metacall (_o=0x23cffc0,
    _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fffffffc1e0)
    at /home/.../Scribus/build/scribus/moc_undomanager.cpp:143
 15 0x00007ffff768a7b1 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 16 0x000000000078e39a in ScrAction::triggeredData (this=0x25e0d30, _t1=1)
    at /home/.../Scribus/build/scribus/moc_scraction.cpp:245
 17 0x0000000000c71bb8 in ScrAction::triggeredToTriggeredData (this=0x25e0d30)
    at /home/.../Scribus/scribus/scraction.cpp:100
 18 0x000000000078decb in ScrAction::qt_static_metacall (_o=0x25e0d30,
    _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fffffffc520)
    at /home/.../Scribus/build/scribus/moc_scraction.cpp:117
 19 0x00007ffff768a7b1 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 20 0x00007ffff6c82632 in QAction::triggered(bool) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 21 0x00007ffff6c84467 in QAction::activate(QAction::ActionEvent) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 22 0x00007ffff6d8da65 in ?? ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 23 0x00007ffff6d8dd24 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 24 0x00007ffff6e5091a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 25 0x00007ffff6cc5c27 in QWidget::event(QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 26 0x00007ffff6e517b0 in QToolButton::event(QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 27 0x00007ffff6c8da94 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 28 0x00007ffff6c90e8c in QApplication::notify(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 29 0x00007ffff7658f04 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 30 0x00007ffff6c8fffa in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 31 0x00007ffff6ce5e87 in ?? ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 32 0x00007ffff6ce89d8 in ?? ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 33 0x00007ffff6c8da94 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 34 0x00007ffff6c910b6 in QApplication::notify(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Widgets.so.5
 35 0x00007ffff7658f04 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 36 0x00007ffff650c537 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5
 37 0x00007ffff650cf75 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5
 38 0x00007ffff64f2208 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Gui.so.5
 39 0x00007fffe548c460 in ?? ()
   from /home/.../Qt/5.3/gcc_64/plugins/platforms/libqxcb.so
 40 0x00007fffecddd316 in g_main_dispatch (context=0x7fffe0001740)
    at gmain.c:3066
 41 g_main_context_dispatch (context=context@entry=0x7fffe0001740)
    at gmain.c:3642
 42 0x00007fffecddd668 in g_main_context_iterate (context=context@entry=0x7fffe0001740,
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
 43 0x00007fffecddd70c in g_main_context_iteration (context=0x7fffe0001740, may_block=1)
    at gmain.c:3774
 44 0x00007ffff76b3574 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 45 0x00007ffff765711b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 46 0x00007ffff765bfe5 in QCoreApplication::exec() ()
   from /home/.../Qt/5.3/gcc_64/lib/libQt5Core.so.5
 47 0x000000000123fa0c in mainApp (argc=1, argv=0x7fffffffdd18)
    at /home/.../Scribus/scribus/main_nix.cpp:86
 48 0x000000000123f99c in main (argc=1, argv=0x7fffffffdd18)
    at /home/.../Scribus/scribus/main_nix.cpp:54
(gdb) continue
Continuing.
Scribus Crash
-------------
Scribus crashes due to Signal 6
Calling Emergency Save

Program received signal SIGSEGV, Segmentation fault.
0x0000000000cd2496 in ScribusMainWindow::emergencySave (this=0x0)
    at /home/.../Scribus/scribus/scribus.cpp:9067
9067 QList<QMdiSubWindow *> windows = mdiArea->subWindowList();
TagsNo tags attached.
PatchNo

Relationships

child of 0012500 acknowledged Metabug: Undo/Redo (1.5.x.svn) 

Activities

Kunda

2014-07-02 12:39

updater   ~0032407

Can recreate bug
Can reproduce the crash
1.5svn r19303 (10.8.5 w/ Qt5.3.1)

cbradney

2014-07-08 21:20

administrator   ~0032604

the clear contents code is somehow not being recorded as an undo step and then at one point in the first steps to reproduce, the frame is empty..

FirasH

2015-03-17 15:38

developer   ~0034716

Thanks jghali!
Fixed in 1.5.0.svn (19935).

Issue History

Date Modified Username Field Change
2014-07-01 15:56 FirasH New Issue
2014-07-01 15:57 FirasH Additional Information Updated
2014-07-02 12:39 Kunda Note Added: 0032407
2014-07-02 12:39 Kunda Status new => confirmed
2014-07-02 12:43 Kunda Target Version => 1.5.1svn
2014-07-03 05:07 Kunda Target Version 1.5.1svn => 1.5.1
2014-07-03 14:37 Kunda Target Version 1.5.1 => 1.5.0
2014-07-08 21:20 cbradney Note Added: 0032604
2014-07-09 01:14 FirasH Relationship added child of 0012500
2014-09-11 02:47 Kunda Severity crash => block
2015-03-16 22:28 jghali Patch => No
2015-03-16 22:28 jghali Summary Undo/Redo is not able to manage more "Truncate text" actions => Undo/Redo is not able to manage multiple "Truncate text" actions
2015-03-16 22:34 jghali Status confirmed => resolved
2015-03-16 22:34 jghali Fixed in Version => 1.5.0svn
2015-03-16 22:34 jghali Resolution open => fixed
2015-03-16 22:34 jghali Assigned To => jghali
2015-03-17 15:38 FirasH Note Added: 0034716
2015-03-17 15:38 FirasH Status resolved => closed