View Issue Details

IDProjectCategoryView StatusLast Update
0012038ScribusUndo/Redopublic2014-03-09 09:05
ReporterFirasH Assigned Tojghali  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Platformx86_64OSopenSUSEOS Version13.1
Product Version1.5.0svn 
Target Version1.5.0Fixed in Version1.4.4.svn 
Summary0012038: Undo crashes Scribus after changing the page arrangement
DescriptionUndo does not work as expected after changes to the pages arrangement (Windows > Arrange Pages), it crashes with the Steps reported.

Pages on canvas in Step 4 are displayed strangely.
Steps To Reproduce0) Make sure Windows > "Arrange Pages" is opened
1) Create a new document (standard A4 Portrait)
2) Select the page and: Page > Manage Page Properties... > Orientation > select "Landscape"
3) Page > Insert > 1 Page at End
Repeat step 2 and 3 until you have a document with 3 pages with Landscape Orientation
4) From the Window "Arrange Pages" > "Document Pages:" select the second page and move it on the icon of the first page
The canvas behaves strangely: the first page isn't any more with Landscape Orientation and it's partially over the second one

5-A) From "Arrange Pages" > "Document Pages:" move the second page up, higher than the first page
6-A) Undo
Scribus crashed due to Signal 6

5-B) Undo step 4: the first and the second page now have Portrait Orientation
Additional InformationScribus SVN 18796

Probably related to 0012020
Tagsundo
Patch

Relationships

related to 0012056 confirmed Canvas issues after changing the page arrangement 

Activities

FirasH

2014-02-03 13:14

reporter   ~0031258

ASSERT failure in QList<T>::take: "index out of range", file /home/user/Qt/5.2.0/gcc_64/include/QtCore/qlist.h, line 488

Program received signal SIGABRT, Aborted.
0x00007fffee402849 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007fffee402849 in raise () from /lib64/libc.so.6
0000001 0x00007fffee403cd8 in abort () from /lib64/libc.so.6
0000002 0x00007ffff747bfbe in QMessageLogger::fatal(char const*, ...) const ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000003 0x00007ffff7478cc4 in qt_assert_x(char const*, char const*, char const*, int) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000004 0x0000000000dee3dd in QList<ScPage*>::takeAt (this=0x346bf38, i=-1)
    at /home/user/Qt/5.2.0/gcc_64/include/QtCore/qlist.h:488
0000005 0x0000000000d7f7c0 in ScribusDoc::movePage (this=0x346b5d0, fromPage=-1, toPage=0,
    dest=1, position=0) at /home/user/SVN Scribus/Scribus/scribus/scribusdoc.cpp:2800
0000006 0x0000000000d7fdc7 in ScribusDoc::restoreMovePage (this=0x346b5d0, state=0x2c3e240,
    isUndo=true) at /home/user/SVN Scribus/Scribus/scribus/scribusdoc.cpp:2868
0000007 0x0000000000d70fa9 in ScribusDoc::restore (this=0x346b5d0, state=0x2c3e240, isUndo=true)
    at /home/user/SVN Scribus/Scribus/scribus/scribusdoc.cpp:1847
0000008 0x0000000000e5ad78 in UndoState::undo (this=0x2c3e240)
    at /home/user/SVN Scribus/Scribus/scribus/undostate.cpp:73
0000009 0x0000000000e59eb3 in UndoStack::undo (this=0x3583fb0, steps=1, objectId=-1)
    at /home/user/SVN Scribus/Scribus/scribus/undostack.cpp:80
0000010 0x0000000000e4a5f9 in UndoManager::undo (this=0x1dbf9a0, steps=1)
    at /home/user/SVN Scribus/Scribus/scribus/undomanager.cpp:553
0000011 0x000000000080fdf2 in UndoManager::qt_static_metacall (_o=0x1dbf9a0,
    _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fffffffc330)
    at /home/user/SVN Scribus/Scribus/build/scribus/moc_undomanager.cpp:143
0000012 0x00007ffff769e341 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000013 0x000000000080515c in ScrAction::triggeredData (this=0x1e59c70, _t1=1)
    at /home/user/SVN Scribus/Scribus/build/scribus/moc_scraction.cpp:229
0000014 0x0000000000cd17ac in ScrAction::triggeredToTriggeredData (this=0x1e59c70)
    at /home/user/SVN Scribus/Scribus/scribus/scraction.cpp:178
0000015 0x0000000000804d31 in ScrAction::qt_static_metacall (_o=0x1e59c70,
    _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fffffffc5a0)
    at /home/user/SVN Scribus/Scribus/build/scribus/moc_scraction.cpp:114
0000016 0x00007ffff769e341 in QMetaObject::activate(QObject*, int, int, void**) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000017 0x00007ffff6ce2dc2 in QAction::triggered(bool) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000018 0x00007ffff6ce4bf7 in QAction::activate(QAction::ActionEvent) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000019 0x00007ffff6dedb65 in ?? () from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000020 0x00007ffff6dede24 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000021 0x00007ffff6eb050a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000022 0x00007ffff6d25c17 in QWidget::event(QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000023 0x00007ffff6eb13a0 in QToolButton::event(QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000024 0x00007ffff6cedf34 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000025 0x00007ffff6cf1336 in QApplication::notify(QObject*, QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000026 0x00007ffff7675554 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000027 0x00007ffff6cf038a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000028 0x00007ffff6d456a5 in ?? () from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000029 0x00007ffff6d479e8 in ?? () from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000030 0x00007ffff6cedf34 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000031 0x00007ffff6cf150e in QApplication::notify(QObject*, QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Widgets.so.5
0000032 0x00007ffff7675554 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000033 0x00007ffff660b981 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Gui.so.5
0000034 0x00007ffff660c205 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Gui.so.5
0000035 0x00007ffff65f3ae8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Gui.so.5
0000036 0x00007fffe409bfd0 in ?? ()
   from /home/user/Qt/5.2.0/gcc_64/plugins/platforms/libqxcb.so
0000037 0x00007fffebce2316 in g_main_dispatch (context=0x7fffdc001740) at gmain.c:3066
0000038 g_main_context_dispatch (context=context@entry=0x7fffdc001740) at gmain.c:3642
0000039 0x00007fffebce2668 in g_main_context_iterate (context=context@entry=0x7fffdc001740,
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3713
0000040 0x00007fffebce270c in g_main_context_iteration (context=0x7fffdc001740, may_block=1)
    at gmain.c:3774
0000041 0x00007ffff76c5fc4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000042 0x00007ffff76742cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000043 0x00007ffff767833e in QCoreApplication::exec() ()
   from /home/user/Qt/5.2.0/gcc_64/lib/libQt5Core.so.5
0000044 0x00000000012b7eb0 in mainApp (argc=1, argv=0x7fffffffdd68)
    at /home/user/SVN Scribus/Scribus/scribus/main_nix.cpp:86
0000045 0x00000000012b7e40 in main (argc=1, argv=0x7fffffffdd68)
    at /home/user/SVN Scribus/Scribus/scribus/main_nix.cpp:54

jghali

2014-02-03 22:00

administrator   ~0031265

The crash itself is easier to reproduce with following steps:
0) Make sure Windows > "Arrange Pages" is opened
1) Create a new document with 3 pages
2) From "Arrange Pages" > "Document Pages:" move the second page up, higher than the first page
3) Undo

jghali

2014-02-08 22:10

administrator   ~0031285

I have fixed the crash. I will resolve this issue and create a duplicate one specifically for the canvas related problems.

christoph_s

2014-02-09 01:26

developer   ~0031287

Tested, fixed. Thanks.

Issue History

Date Modified Username Field Change
2014-02-03 13:08 FirasH New Issue
2014-02-03 13:14 FirasH Note Added: 0031258
2014-02-03 13:47 JLuc Tag Attached: undo
2014-02-03 22:00 jghali Note Added: 0031265
2014-02-03 22:27 jghali Target Version => 1.5.0
2014-02-08 22:10 jghali Note Added: 0031285
2014-02-08 22:10 jghali Summary Undo crashes Scribus after changing the Page Arrangement => Undo crashes Scribus after changing the page arrangement
2014-02-08 22:15 jghali Issue cloned: 0012056
2014-02-08 22:15 jghali Relationship added related to 0012056
2014-02-08 22:17 jghali Status new => resolved
2014-02-08 22:17 jghali Fixed in Version => 1.5.0svn
2014-02-08 22:17 jghali Resolution open => fixed
2014-02-08 22:17 jghali Assigned To => jghali
2014-02-09 01:26 christoph_s Note Added: 0031287
2014-02-09 01:26 christoph_s Status resolved => closed
2014-03-09 09:05 jghali Fixed in Version 1.5.0svn => 1.4.4.svn