Mantis Issue Tracking for Scribus
· Hosting provided by / Øverby Consulting ·

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0012630ScribusGeneralpublic14-Aug-24 00:0614-Aug-31 20:22
Assigned Tojghali 
PlatformOSOS Version
Product Version1.5.0svn 
Target Version1.5.0Fixed in Version1.5.0svn 
Summary0012630: [PATCH] Pressing "Esc" while item specific window is opened crashes Scribus
DescriptionPressing "Esc" while item specific window is opened crashes Scribus.
Reproduced on FreeBSD and Linux.
Steps To Reproduce0) Create a new document
1) Insert one of those items: Polygon/Arc/Spiral
2) Double-click on the item
3) Select the window that appears
4) Press "Esc"

Scribus crashes due to Signal 11
Additional Information1.5.0.svn (19430)

Spiral dialog backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6e8a03c in QDialog::reject() () from /home/.../Qt/5.3/gcc_64/lib/
(gdb) bt
 0 0x00007ffff6e8a03c in QDialog::reject() ()
   from /home/.../Qt/5.3/gcc_64/lib/
 1 0x00000000011542e1 in ScrPaletteBase::reject (this=0x32269a0)
    at /home/.../Scribus/scribus/ui/scrpalettebase.cpp:224
 2 0x00007ffff6e8c506 in QDialog::keyPressEvent(QKeyEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 3 0x00007ffff6cc5c9d in QWidget::event(QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 4 0x00007ffff6c8da94 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 5 0x00007ffff6c91994 in QApplication::notify(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 6 0x00007ffff7658f04 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 7 0x00007ffff6ce89f0 in ?? ()
   from /home/.../Qt/5.3/gcc_64/lib/
 8 0x00007ffff6c8da94 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 9 0x00007ffff6c910b6 in QApplication::notify(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 10 0x00007ffff7658f04 in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 11 0x00007ffff6504c3a in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 12 0x00007ffff650cf55 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 13 0x00007ffff64f2208 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 14 0x00007fffe548c460 in ?? ()
   from /home/.../Qt/5.3/gcc_64/plugins/platforms/
 15 0x00007fffecddd316 in g_main_dispatch (context=0x7fffe0001740)
    at gmain.c:3066
 16 g_main_context_dispatch (context=context@entry=0x7fffe0001740)
    at gmain.c:3642
 17 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
 18 0x00007fffecddd70c in g_main_context_iteration (context=0x7fffe0001740, may_block=1)
    at gmain.c:3774
 19 0x00007ffff76b3574 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 20 0x00007ffff765711b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/.../Qt/5.3/gcc_64/lib/
 21 0x00007ffff765bfe5 in QCoreApplication::exec() ()
   from /home/.../Qt/5.3/gcc_64/lib/
 22 0x0000000001243430 in mainApp (argc=1, argv=0x7fffffffdd18)
    at /home/.../Scribus/scribus/main_nix.cpp:86
 23 0x00000000012433c0 in main (argc=1, argv=0x7fffffffdd18)
    at /home/.../Scribus/scribus/main_nix.cpp:54
TagsNo tags attached.
Attached Filesdiff file icon 12630.diff [^] (688 bytes) 14-Aug-24 00:53 [Show Content]

- Relationships

-  Notes
FirasH (developer)
14-Aug-24 00:55

I tried to figure out what was happening with gdb and ended up with the attached .diff file. With that change it doesn't crash anymore but I'm not sure if it is 100% correct (hope it is :) ).
jghali (administrator)
14-Aug-24 14:52

I found a simpler solution :-) The crash was caused by dialog being deleted in code triggered by the paletteShown() signal. Calling QDialog::reject() after that could only trigger a crash. So inverting the call order in ScrPaletteBase::reject() should be enough.
FirasH (developer)
14-Aug-31 20:22

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

- Issue History
Date Modified Username Field Change
14-Aug-24 00:06 FirasH New Issue
14-Aug-24 00:53 FirasH File Added: 12630.diff
14-Aug-24 00:55 FirasH Note Added: 0033331
14-Aug-24 00:55 FirasH Summary Pressing "Esc" while item specific window is opened crashes Scribus => [PATCH] Pressing "Esc" while item specific window is opened crashes Scribus
14-Aug-24 14:35 jghali Target Version => 1.5.0svn
14-Aug-24 14:36 jghali Target Version 1.5.0svn => 1.5.0
14-Aug-24 14:52 jghali Note Added: 0033334
14-Aug-24 14:52 jghali Status new => resolved
14-Aug-24 14:52 jghali Fixed in Version => 1.5.0svn
14-Aug-24 14:52 jghali Resolution open => fixed
14-Aug-24 14:52 jghali Assigned To => jghali
14-Aug-31 20:22 FirasH Note Added: 0033409
14-Aug-31 20:22 FirasH Status resolved => closed

Copyright © 2000 - 2014 MantisBT Team
Powered by Mantis Bugtracker