View Issue Details

IDProjectCategoryView StatusLast Update
0006705Scribus-public2008-01-24 22:53
Reporterwalger Assigned Tojghali  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP2
Product Version1.3.3.11 
Target Version1.3.3.12Fixed in Version1.3.3.12svn 
Summary0006705: Crash when deleting characters in auto hyphenated long words in textframe
DescriptionWhen you delete characters out of a word in a textframe (not story editor) that is longer than one line and is auto hyphenated scribus crashes when there are exactly two characters left to delete in the last line.
Steps To ReproduceStart scribus
Ctrl+N (create new document)
T (create text frame)
E (select edit mode)
Fill the first and half of the second line in the frame with one character (f.e. h NO spaces) so that the text is automatically hyphenated in the first line.

OR

use attached doc.

Delete the characters in the last line with BS or delete characters anywhere in the word with DEL.
Scribus crashes, when there are two characters left on the last line.
Additional InformationI think this error is academic because this case does not happen too often in real work. But on the other hand, there may be an hidden error in the hyphenation or rendering.
TagsNo tags attached.
Patch

Activities

2008-01-22 11:17

 

crash.sla (43,726 bytes)

christoph_s

2008-01-22 11:50

administrator   ~0018687

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6f0a8e0 (LWP 7105)]
0x0848ee65 in PageItem_TextFrame::DrawObj_Item (this=0x98bc1b8, p=0x938d198, e=
      {x1 = 155, y1 = 75, x2 = 265, y2 = 160}, sc=1)
    at /home/christoph/scribus133/Version133x/Scribus/scribus/pageitem_textframe.cpp:1521
1521 itemText.at(startLin+zc)->xp = Zli2->xco;
(gdb) bt
#0 0x0848ee65 in PageItem_TextFrame::DrawObj_Item (this=0x98bc1b8,
    p=0x938d198, e={x1 = 155, y1 = 75, x2 = 265, y2 = 160}, sc=1)
    at /home/christoph/scribus133/Version133x/Scribus/scribus/pageitem_textframe.cpp:1521
0000001 0x0845d051 in PageItem::DrawObj (this=0x98bc1b8, p=0x938d198, e=
      {x1 = 155, y1 = 75, x2 = 265, y2 = 160})
    at /home/christoph/scribus133/Version133x/Scribus/scribus/pageitem.cpp:692
0000002 0x086c3d64 in ScribusView::DrawPageItems (this=0x94d4e18,
    painter=0x938d198, clip={x1 = 155, y1 = 75, x2 = 265, y2 = 160})
    at /home/christoph/scribus133/Version133x/Scribus/scribus/scribusview.cpp:681
0000003 0x086c8e40 in ScribusView::drawContents (this=0x94d4e18, clipx=155,
    clipy=75, clipw=111, cliph=86)
    at /home/christoph/scribus133/Version133x/Scribus/scribus/scribusview.cpp:299
0000004 0xb7bcddf3 in QScrollView::drawContentsOffset ()
   from /usr/lib/libqt-mt.so.3
0000005 0xb7bcfbb7 in QScrollView::viewportPaintEvent ()
   from /usr/lib/libqt-mt.so.3
0000006 0x086c5833 in ScribusView::viewportPaintEvent (this=0x94d4e18,
    p=0xbf9855b8)
    at /home/christoph/scribus133/Version133x/Scribus/scribus/scribusview.cpp:248
---Type <return> to continue, or q <return> to quit---
0000007 0xb7bd09de in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3
0000008 0xb7abdf9c in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
0000009 0xb7abe00b in QObject::event () from /usr/lib/libqt-mt.so.3
0000010 0xb7af749c in QWidget::event () from /usr/lib/libqt-mt.so.3
0000011 0xb7a5ff7c in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
0000012 0xb7a60d33 in QApplication::notify () from /usr/lib/libqt-mt.so.3
0000013 0xb7a324ba in QWidget::repaint () from /usr/lib/libqt-mt.so.3
0000014 0xb7a618dd in QApplication::sendPostedEvents () from /usr/lib/libqt-mt.so.3
0000015 0xb7a619c6 in QApplication::sendPostedEvents () from /usr/lib/libqt-mt.so.3
0000016 0xb7a0ec0a in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
0000017 0xb7a76b00 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
0000018 0xb7a76996 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
0000019 0xb7a5faef in QApplication::exec () from /usr/lib/libqt-mt.so.3
0000020 0x083d98b9 in mainApp (argc=1, argv=0xbf985954)
    at /home/christoph/scribus133/Version133x/Scribus/scribus/main_nix.cpp:74
0000021 0x083d9920 in main (argc=143660776, argv=0x1)
    at /home/christoph/scribus133/Version133x/Scribus/scribus/main_nix.cpp:50

jghali

2008-01-23 21:28

administrator   ~0018701

The crash seems related to the "Show control characters" display setting. I can't reproduce the crash with that setting disabled while i can quite easily when it is.

christoph_s

2008-01-24 22:53

administrator   ~0018712

Tested, fixed. Thanks.

Issue History

Date Modified Username Field Change
2008-01-22 11:17 walger New Issue
2008-01-22 11:17 walger File Added: crash.sla
2008-01-22 11:50 christoph_s Note Added: 0018687
2008-01-22 11:50 christoph_s Status new => confirmed
2008-01-23 21:28 jghali Note Added: 0018701
2008-01-23 22:34 jghali Status confirmed => resolved
2008-01-23 22:34 jghali Fixed in Version => 1.3.3.12svn
2008-01-23 22:34 jghali Resolution open => fixed
2008-01-23 22:34 jghali Assigned To => jghali
2008-01-24 20:57 cbradney Target Version => 1.3.3.12
2008-01-24 22:53 christoph_s Status resolved => closed
2008-01-24 22:53 christoph_s Note Added: 0018712