Version: svn (using KDE 4.4.2) OS: OS X See Summary and Steps to Reproduce. Reproducible: Always Steps to Reproduce: Open KPresenter (didn't have a KWord build), insert a chart, change the title of an axis *in the chart tool*. Actual Results: Crash. Expected Results: No crash ;-) The crash does not happen if the text is changed directly in the chart tool. The difference is that the chart shape programatically changes the text shape's document like so: d->titleData->document()->setPlainText( text ); Here's the backtrace: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x000000000000009c 0x00000001025794c8 in QTextFrame::firstPosition () (gdb) back #0 0x00000001025794c8 in QTextFrame::firstPosition () #1 0x000000011c641523 in Layout::updateFrameStack (this=0x11eb5ce40) at /Users/joh/Applications/KDE4/src/koffice/plugins/textshape/Layout.cpp:2020 #2 0x000000011c646aaf in Layout::resetPrivate (this=0x11eb5ce40) at /Users/joh/Applications/KDE4/src/koffice/plugins/textshape/Layout.cpp:926 #3 0x000000011c64bda6 in Layout::start (this=0x11eb5ce40) at /Users/joh/Applications/KDE4/src/koffice/plugins/textshape/Layout.cpp:97 #4 0x000000010053280a in KoTextDocumentLayout::layout () at /Users/joh/Applications/KDE4/src/koffice/libs/kotext/KoTextDocumentLayout.cpp:464 #5 0x000000011c623f0a in TextShape::paintComponent (this=0x11eb39bc0, painter=@0x7fff5fbfad80, converter=@0x116b9b5e0) at /Users/joh/Applications/KDE4/src/koffice/plugins/textshape/TextShape.cpp:167 #6 0x0000000100791338 in KoShapeContainer::paint (this=0x11eb39bc0, painter=@0x7fff5fbfad80, converter=@0x116b9b5e0) at /Users/joh/Applications/KDE4/src/koffice/libs/flake/KoShapeContainer.cpp:143 #7 0x0000000100791677 in KoShapeContainer::paint (this=0x11eb3cae8, painter=@0x7fff5fbfad80, converter=@0x116b9b5e0) at /Users/joh/Applications/KDE4/src/koffice/libs/flake/KoShapeContainer.cpp:180 #8 0x000000010079510b in KoShapeManager::paintShape (this=0x116b9c640, shape=0x11eb3cae8, painter=@0x7fff5fbfad80, converter=@0x116b9b5e0, forPrint=false) at /Users/joh/Applications/KDE4/src/koffice/libs/flake/KoShapeManager.cpp:362 #9 0x00000001007947e5 in KoShapeManagerPaintingStrategy::paint (this=0x116b8aa10, shape=0x11eb3cae8, painter=@0x7fff5fbfad80, converter=@0x116b9b5e0, forPrint=false) at /Users/joh/Applications/KDE4/src/koffice/libs/flake/KoShapeManagerPaintingStrategy.cpp:53 #10 0x0000000100797f6e in KoShapeManager::paint (this=0x116b9c640, painter=@0x7fff5fbfad80, converter=@0x116b9b5e0, forPrint=false) at /Users/joh/Applications/KDE4/src/koffice/libs/flake/KoShapeManager.cpp:329 #11 0x00000001186ab1eb in KoPAViewModeNormal::paint (this=0x11682c000, canvas=<value temporarily unavailable, due to optimizations>, painter=@0x7fff5fbfad80, paintRect=@0x7fff5fbfad40) at /Users/joh/Applications/KDE4/src/koffice/libs/kopageapp/KoPAViewModeNormal.cpp:66 #12 0x00000001186a29a9 in KoPACanvasBase::paint (this=0x116b9be18, painter=@0x7fff5fbfad80, paintRect={xp = 0, yp = 80, w = 262, h = 169}) at /Users/joh/Applications/KDE4/src/koffice/libs/kopageapp/KoPACanvasBase.cpp:192 #13 0x00000001186a07a0 in KoPACanvas::paintEvent (this=<value temporarily unavailable, due to optimizations>, event=0x7fff5fbfb510) at /Users/joh/Applications/KDE4/src/koffice/libs/kopageapp/KoPACanvas.cpp:102 #14 0x00000001023a051a in QWidget::event () #15 0x00000001186a082d in KoPACanvas::event (this=0x116b9bdf0, e=0x7fff5fbfb510) at /Users/joh/Applications/KDE4/src/koffice/libs/kopageapp/KoPACanvas.cpp:96 #16 0x0000000102349dbd in QApplicationPrivate::notify_helper () #17 0x000000010235071d in QApplication::notify () #18 0x000000010145b92a in KApplication::notify () #19 0x0000000102000acc in QCoreApplication::notifyInternal () #20 0x0000000102349e5c in qt_sendSpontaneousEvent () #21 0x00000001022f381d in -[QCocoaView drawRect:] () #22 0x00007fff86ed6131 in -[NSView _drawRect:clip:] () #23 0x00007fff86ed3907 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #24 0x00007fff86ed4292 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #25 0x00007fff86ed4292 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #26 0x00007fff86ed4292 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #27 0x00007fff86ed4292 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #28 0x00007fff86ed4292 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #29 0x00007fff86ed4292 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #30 0x00007fff86ed4292 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #31 0x00007fff86ed2ee8 in -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] () #32 0x00007fff86ecf79a in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] () #33 0x00007fff86e48ff6 in -[NSView displayIfNeeded] () #34 0x00000001022f7caa in -[QCocoaWindow displayIfNeeded] () #35 0x00007fff86e43ea2 in _handleWindowNeedsDisplay () #36 0x00007fff88915077 in __CFRunLoopDoObservers () #37 0x00007fff888f0ef4 in __CFRunLoopRun () #38 0x00007fff888f084f in CFRunLoopRunSpecific () #39 0x00007fff819c691a in RunCurrentEventLoopInMode () #40 0x00007fff819c667d in ReceiveNextEventCommon () #41 0x00007fff819c65d8 in BlockUntilNextEventMatchingListInMode () #42 0x00007fff86e1929e in _DPSNextEvent () #43 0x00007fff86e18bed in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] () #44 0x00007fff86dde8d3 in -[NSApplication run] () #45 0x0000000102305324 in QEventDispatcherMac::processEvents () #46 0x00000001020daa74 in QEventLoop::processEvents () #47 0x00000001020dad94 in QEventLoop::exec () #48 0x00000001020dc3bc in QCoreApplication::exec () #49 0x0000000100015c28 in kdemain (argc=<value temporarily unavailable, due to optimizations>, argv=<value temporarily unavailable, due to optimizations>) at /Users/joh/Applications/KDE4/src/koffice/kpresenter/part/main.cpp:44 #50 0x0000000100009ec4 in start ()
SVN commit 1184219 by zander: Don't crash on restarting layout on a changed doc BUG:253658 M +1 -0 Layout.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1184219