| Summary: | Crash when converting a shape with a pattern fill, to a vector selection | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | mvowada <freebox64> |
| Component: | General | Assignee: | Halla Rempt <halla> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | halla |
| Priority: | NOR | ||
| Version First Reported In: | 2.9 Beta | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | http://commits.kde.org/calligra/9def6a99cf6c351501b89e4e569d29d5a576b7a4 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: | Crash when converting a shape with a pattern fill, to a vector selection - Backtrace | ||
|
Description
mvowada
2015-02-04 00:33:22 UTC
Created attachment 90904 [details]
Crash when converting a shape with a pattern fill, to a vector selection - Backtrace
Eek, I get a crash when creating the vector shape with pattern: Thread 1 (Thread 0x7fc96aaaf7c0 (LWP 18025)): [KCrash Handler] #5 0x00007fc963bf5eb1 in QImage::QImage(QImage const&) () at /usr/lib64/libQtGui.so.4 #6 0x00007fc966e7a93d in KoPattern::pattern() const (this=<optimized out>) at /home/boud/kde/src/2.9/libs/pigment/resources/KoPattern.cpp:370 #7 0x00007fc96a32986b in KisToolShape::addShape(KoShape*) (this=this@entry=0x4f96cb0, shape=shape@entry=0x4810130) at /home/boud/kde/src/2.9/krita/ui/tool/kis_tool_shape.cc:170 #8 0x00007fc9430cf1cf in KisToolRectangle::finishRect(QRectF const&) (this=this@entry=0x4f96cb0, rect=...) at /home/boud/kde/src/2.9/krita/plugins/tools/defaulttools/kis_tool_rectangle.cc:80 #9 0x00007fc96a32f325 in KisToolRectangleBase::endPrimaryAction(KoPointerEvent*) (this=0x4f96cb0, event=0x7fff03386e40) at /home/boud/kde/src/2.9/krita/ui/tool/kis_tool_rectangle_base.cpp:190 #10 0x00007fc96a0c7cd4 in KisToolProxy::forwardToTool(KisToolProxy::ActionState, KisTool::ToolAction, QEvent*, QPointF const&) (this=this@entry=0x40f7a30, state=state@entry=KisToolProxy::END, action=action@entry=KisTool::Primary, event=event@entry=0x7fff033874d0, docPoint=...) at /home/boud/kde/src/2.9/krita/ui/canvas/kis_tool_proxy.cpp:180 #11 0x00007fc96a0c80ea in KisToolProxy::forwardEvent(KisToolProxy::ActionState, KisTool::ToolAction, QEvent*, QEvent*, QTabletEvent*) (this=0x40f7a30, state=state@entry=KisToolProxy::END, action=action@entry=KisTool::Primary, event=event@entry=0x7fff033874d0, originalEvent=originalEvent@entry=0x7fff033874d0, lastTabletEvent=lastTabletEvent@entry=0x0) at /home/boud/kde/src/2.9/krita/ui/canvas/kis_tool_proxy.cpp:133 #12 0x00007fc96a3a220b in KisToolInvocationAction::end(QEvent*) (this=0x303d640, event=0x7fff033874d0) at /home/boud/kde/src/2.9/krita/ui/input/kis_tool_invocation_action.cpp:132 #13 0x00007fc96a3ae359 in KisShortcutMatcher::tryEndRunningShortcut(Qt::MouseButton, QMouseEvent*) (this=this@entry=0x303d160, button=<optimized out>, event=event@entry=0x7fff033874d0) at /home/boud/kde/src/2.9/krita/ui/input/kis_shortcut_matcher.cpp:439 #14 0x00007fc96a3aee8a in KisShortcutMatcher::buttonReleased(Qt::MouseButton, QMouseEvent*) (this=0x303d160, button=Qt::LeftButton, event=event@entry=0x7fff033874d0) at /home/boud/kde/src/2.9/krita/ui/input/kis_shortcut_matcher.cpp:193 #15 0x00007fc96a39d22e in KisInputManager::eventFilter(QObject*, QEvent*) (this=0x303d090, object=<optimized out>, event=0x7fff033874d0) at /home/boud/kde/src/2.9/krita/ui/input/kis_input_manager.cpp:640 #16 0x00007fc963133416 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (this=<optimized out>, receiver=0x190c0a0, event=0x7fff033874d0) at kernel/qcoreapplication.cpp:1063 #17 0x00007fc963b4174c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #18 0x00007fc963b47dea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #19 0x00007fc96a3ded37 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x190c0a0, event=0x7fff033874d0) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:488 #20 0x00007fc9631332ad in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fff03387d00, receiver=0x190c0a0, event=0x7fff033874d0) at kernel/qcoreapplication.cpp:953 #21 0x00007fc963b475e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4 #22 0x00007fc963bb8c9b in () at /usr/lib64/libQtGui.so.4 #23 0x00007fc963bb770c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4 #24 0x00007fc963bdef30 in () at /usr/lib64/libQtGui.so.4 #25 0x00007fc963131e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff03387ab0, flags=...) at kernel/qeventloop.cpp:149 #26 0x00007fc963132165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff03387ab0, flags=...) at kernel/qeventloop.cpp:204 #27 0x00007fc9631375b9 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1225 #28 0x0000000000402a71 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/2.9/krita/main.cc:170 But that's because for some reason there's no active pattern _again_. And confirmed: Thread 1 (Thread 0x7fd2d62bc7c0 (LWP 18090)): [KCrash Handler] #5 0x00007fd2cd538187 in raise () at /lib64/libc.so.6 #6 0x00007fd2cd539538 in abort () at /lib64/libc.so.6 #7 0x00007fd2ce8342b4 in qt_message_output(QtMsgType, char const*) (msgType=msgType@entry=QtFatalMsg, buf=<optimized out>) at global/qglobal.cpp:2359 #8 0x00007fd2ce834439 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=msg@entry=0x7fd2ce9a1858 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7fffff6bf258) at global/qglobal.cpp:2405 #9 0x00007fd2ce834c44 in qFatal(char const*, ...) (msg=msg@entry=0x7fd2ce9a1858 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2588 #10 0x00007fd2ce834c8a in qt_assert(char const*, char const*, int) (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2054 #11 0x00007fd2d29830b3 in KoShape::loadOdfFill(KoShapeLoadingContext&) const (this=this@entry=0x7235a50, context=...) at /home/boud/kde/src/2.9/libs/flake/KoShape.cpp:1635 #12 0x00007fd2d2983297 in KoShape::loadStyle(KoXmlElement const&, KoShapeLoadingContext&) (this=this@entry=0x7235a50, element=..., context=...) at /home/boud/kde/src/2.9/libs/flake/KoShape.cpp:1435 #13 0x00007fd2d2a06a9a in KoTosContainer::loadStyle(KoXmlElement const&, KoShapeLoadingContext&) (this=this@entry=0x7235a50, element=..., context=...) at /home/boud/kde/src/2.9/libs/flake/KoTosContainer.cpp:102 #14 0x00007fd2d296bfed in KoPathShape::loadStyle(KoXmlElement const&, KoShapeLoadingContext&) (this=0x7235a50, element=..., context=...) at /home/boud/kde/src/2.9/libs/flake/KoPathShape.cpp:323 #15 0x00007fd2d29879a3 in KoShape::loadOdfAttributes(KoXmlElement const&, KoShapeLoadingContext&, int) (this=this@entry=0x7235a50, element=..., context=..., attributes=attributes@entry=2014) at /home/boud/kde/src/2.9/libs/flake/KoShape.cpp:1576 #16 0x00007fd2b9497db4 in RectangleShape::loadOdf(KoXmlElement const&, KoShapeLoadingContext&) (this=0x7235a50, element=..., context=...) at /home/boud/kde/src/2.9/plugins/pathshapes/rectangle/RectangleShape.cpp:53 #17 0x00007fd2d29b37e0 in KoShapeFactoryBase::createShapeFromOdf(KoXmlElement const&, KoShapeLoadingContext&) (this=0x283eb20, element=..., context=...) at /home/boud/kde/src/2.9/libs/flake/KoShapeFactoryBase.cpp:234 #18 0x00007fd2d29aea34 in KoShapeRegistry::Private::createShapeInternal(KoXmlElement const&, KoShapeLoadingContext&, KoXmlElement const&) const (this=<optimized out>, fullElement=..., context=..., element=...) at /home/boud/kde/src/2.9/libs/flake/KoShapeRegistry.cpp:313 #19 0x00007fd2d29afb49 in KoShapeRegistry::createShapeFromOdf(KoXmlElement const&, KoShapeLoadingContext&) const (this=0x27e9e00, e=..., context=...) at /home/boud/kde/src/2.9/libs/flake/KoShapeRegistry.cpp:268 #20 0x00007fd2d5bcc612 in KisShapeSelectionPaste::process(KoXmlElement const&, KoOdfReadStore&) (this=0x7fffff6bfcc0, body=..., odfStore=...) at /home/boud/kde/src/2.9/krita/ui/actions/kis_selection_action_factories.cpp:455 #21 0x00007fd2d0f1c191 in KoOdfPaste::paste(KoOdf::DocumentType, QByteArray const&) (this=this@entry=0x7fffff6bfcc0, documentType=documentType@entry=KoOdf::Text, bytes=...) at /home/boud/kde/src/2.9/libs/odf/KoOdfPaste.cpp:85 #22 0x00007fd2d0f1c3a6 in KoOdfPaste::paste(KoOdf::DocumentType, QMimeData const*) (this=this@entry=0x7fffff6bfcc0, documentType=documentType@entry=KoOdf::Text, data=data@entry=0x5e4c470) at /home/boud/kde/src/2.9/libs/odf/KoOdfPaste.cpp:45 #23 0x00007fd2d5bc5774 in KisShapesToVectorSelectionActionFactory::run(KisViewManager*) (this=this@entry=0x7fffff6bfd20, view=0x3e70560) at /home/boud/kde/src/2.9/krita/ui/actions/kis_selection_action_factories.cpp:482 #24 0x00007fd2d5a67087 in KisSelectionManager::convertShapesToVectorSelection() (this=0x3e3b9f0) at /home/boud/kde/src/2.9/krita/ui/kis_selection_manager.cc:451 #25 0x00007fd2d5a6d5e5 in KisSelectionManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x3e3b9f0, _c=<optimized out>, _id=22, _a=<optimized out>) at /home/boud/kde/build/2.9/krita/ui/kis_selection_manager.moc:124 #26 0x00007fd2ce9541fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=0x3ee5120, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffff6bfeb0) at kernel/qobject.cpp:3576 #27 0x00007fd2cf348622 in QAction::triggered(bool) () at /usr/lib64/libQtGui.so.4 #28 0x00007fd2cf349fd3 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQtGui.so.4 #29 0x00007fd2cf772b79 in () at /usr/lib64/libQtGui.so.4 #30 0x00007fd2cf7770c9 in () at /usr/lib64/libQtGui.so.4 #31 0x00007fd2d011ccb5 in KMenu::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libkdeui.so.5 #32 0x00007fd2cf39dc0a in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #33 0x00007fd2cf77af2b in QMenu::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #34 0x00007fd2cf34e76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #35 0x00007fd2cf354dea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #36 0x00007fd2d5bebd37 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x480d260, event=0x7fffff6c05f0) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:488 #37 0x00007fd2ce9402ad in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffff6c0df0, receiver=0x480d260, event=0x7fffff6c05f0) at kernel/qcoreapplication.cpp:953 #38 0x00007fd2cf3545e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4 #39 0x00007fd2cf3c5fcc in () at /usr/lib64/libQtGui.so.4 #40 0x00007fd2cf3c470c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4 #41 0x00007fd2cf3ebf30 in () at /usr/lib64/libQtGui.so.4 #42 0x00007fd2ce93ee6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffff6c0ba0, flags=...) at kernel/qeventloop.cpp:149 #43 0x00007fd2ce93f165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffff6c0ba0, flags=...) at kernel/qeventloop.cpp:204 #44 0x00007fd2ce9445b9 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1225 #45 0x0000000000402a71 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/2.9/krita/main.cc:170 Git commit 2ff23d071b2214d29b24835b9411ff48279790ff by Boudewijn Rempt. Committed on 04/02/2015 at 14:12. Pushed by rempt into branch 'calligra/2.9'. Note: I'm actually not sure that the _pattern_ gets transfered correctly. But there's no crash anymore and the vector selection gets created. M +56 -54 krita/ui/actions/kis_selection_action_factories.cpp M +7 -6 krita/ui/flake/kis_shape_selection_model.cpp http://commits.kde.org/calligra/2ff23d071b2214d29b24835b9411ff48279790ff Great! It's working good with the new build (git be51bd9). Thank you Git commit 9def6a99cf6c351501b89e4e569d29d5a576b7a4 by Boudewijn Rempt. Committed on 04/02/2015 at 14:12. Pushed by rempt into branch 'master'. Note: I'm actually not sure that the _pattern_ gets transfered correctly. But there's no crash anymore and the vector selection gets created. M +56 -54 krita/ui/actions/kis_selection_action_factories.cpp M +7 -6 krita/ui/flake/kis_shape_selection_model.cpp http://commits.kde.org/calligra/9def6a99cf6c351501b89e4e569d29d5a576b7a4 |