umbrello crashes when an activity widget or other activity diagram widgets with a pin widget is deleted. Reproducible: Always Steps to Reproduce: 1. start umbrello 2. create activity diagram 3. add activity 4. add pin widget 5. delete activity Actual Results: umbrello crashes Expected Results: umbrello should not crash 0 QGraphicsItem::pos qgraphicsitem.cpp 3614 0x7ffff4f596e4 1 QGraphicsItem::x qgraphicsitem.h 280 0x444e99 2 PinWidget::paint pinwidget.cpp 82 0x61764e 3 QGraphicsScenePrivate::draw qgraphicsscene.cpp 4964 0x7ffff4f9ae25 4 QGraphicsScenePrivate::drawSubtreeRecursive qgraphicsscene.cpp 4857 0x7ffff4f9bba5 5 QGraphicsScenePrivate::drawItems qgraphicsscene.cpp 4739 0x7ffff4f9c67e 6 QGraphicsView::paintEvent qgraphicsview.cpp 3471 0x7ffff4fb8978 7 QWidget::event qwidget.cpp 8533 0x7ffff49f638e 8 QFrame::event qframe.cpp 557 0x7ffff4da1a86 9 QGraphicsView::viewportEvent qgraphicsview.cpp 2866 0x7ffff4fb9aab 10 QCoreApplicationPrivate::sendThroughObjectEventFilters qcoreapplication.cpp 1059 0x7ffff5819fe6 11 QApplicationPrivate::notify_helper qapplication.cpp 4558 0x7ffff49a68ec 12 QApplication::notify qapplication.cpp 4423 0x7ffff49aad9a 13 KApplication::notify(QObject*, QEvent*) /usr/lib64/libkdeui.so.5 0x7ffff67535e6 14 QCoreApplication::notifyInternal qcoreapplication.cpp 949 0x7ffff5819e7e 15 sendSpontaneousEvent qcoreapplication.h 234 0x7ffff49f1f54 16 QWidgetPrivate::drawWidget qwidget.cpp 5599 0x7ffff49f1f54 17 QWidgetBackingStore::sync qbackingstore.cpp 1365 0x7ffff4bbc9dd 18 QWidgetPrivate::syncBackingStore qwidget.cpp 1894 0x7ffff49e6aa0 19 QWidget::event qwidget.cpp 8680 0x7ffff49f6834 20 QMainWindow::event qmainwindow.cpp 1478 0x7ffff4dbb2db 21 KXmlGuiWindow::event(QEvent*) /usr/lib64/libkdeui.so.5 0x7ffff6845498 22 QApplicationPrivate::notify_helper qapplication.cpp 4562 0x7ffff49a691c 23 QApplication::notify qapplication.cpp 4423 0x7ffff49aad9a 24 KApplication::notify(QObject*, QEvent*) /usr/lib64/libkdeui.so.5 0x7ffff67535e6 25 QCoreApplication::notifyInternal qcoreapplication.cpp 949 0x7ffff5819e7e 26 sendEvent qcoreapplication.h 231 0x7ffff581d7e1 27 QCoreApplicationPrivate::sendPostedEvents qcoreapplication.cpp 1573 0x7ffff581d7e1 28 dispatchPendingUpdateRequests qgraphicsview_p.h 200 0x7ffff4f955a2 29 QGraphicsScenePrivate::_q_processDirtyItems qgraphicsscene.cpp 515 0x7ffff4f955a2 30 qt_static_metacall moc_qgraphicsscene.cpp 106 0x7ffff4f95759 31 QGraphicsScene::qt_static_metacall moc_qgraphicsscene.cpp 85 0x7ffff4f95759 32 QObject::event qobject.cpp 1203 0x7ffff582e85e 33 QGraphicsScene::event qgraphicsscene.cpp 3565 0x7ffff4fa0174 34 QApplicationPrivate::notify_helper qapplication.cpp 4562 0x7ffff49a691c 35 QApplication::notify qapplication.cpp 4423 0x7ffff49aad9a 36 KApplication::notify(QObject*, QEvent*) /usr/lib64/libkdeui.so.5 0x7ffff67535e6 37 QCoreApplication::notifyInternal qcoreapplication.cpp 949 0x7ffff5819e7e 38 sendEvent qcoreapplication.h 231 0x7ffff581d7e1 39 QCoreApplicationPrivate::sendPostedEvents qcoreapplication.cpp 1573 0x7ffff581d7e1 40 sendPostedEvents qcoreapplication.h 236 0x7ffff5848343 41 postEventSourceDispatch qeventdispatcher_glib.cpp 280 0x7ffff5848343 42 g_main_context_dispatch /usr/lib64/libglib-2.0.so.0 0x7ffff01583b5 43 ?? /usr/lib64/libglib-2.0.so.0 0x7ffff01586e8 44 g_main_context_iteration /usr/lib64/libglib-2.0.so.0 0x7ffff01587a4 45 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 425 0x7ffff58484d6 46 QGuiEventDispatcherGlib::processEvents qguieventdispatcher_glib.cpp 204 0x7ffff4a46dde 47 QEventLoop::processEvents qeventloop.cpp 149 0x7ffff5818b2f 48 QEventLoop::exec qeventloop.cpp 204 0x7ffff5818db8 49 QCoreApplication::exec qcoreapplication.cpp 1221 0x7ffff581daf8 50 main main.cpp 113 0x437c12
Git commit 4b005ac26ff6be16ae126965ff0c42397750d38f by Ralf Habacker. Committed on 26/08/2013 at 10:05. Pushed by habacker into branch 'master'. Crash fix. The crash is fixed by setting PinWidget as child of the related UMLWidget, which ensures that PinWidget is deleted along with the parent by QGraphicsScene. Additional the PinWidget instance has to be removed from the UMLScene widget list, which happens in PinWidget destructor. M +3 -0 umbrello/widgets/pinwidget.cpp http://commits.kde.org/umbrello/4b005ac26ff6be16ae126965ff0c42397750d38f
Git commit 422dd8a47d900fd85be8909358773aedff8a174e by Ralf Habacker. Committed on 26/08/2013 at 10:05. Pushed by habacker into branch 'KDE/4.11'. Crash fix. The crash is fixed by setting PinWidget as child of the related UMLWidget, which ensures that PinWidget is deleted along with the parent by QGraphicsScene. Additional the PinWidget instance has to be removed from the UMLScene widget list, which happens in PinWidget destructor. FIXED-IN:4.11.1 M +3 -0 umbrello/widgets/pinwidget.cpp http://commits.kde.org/umbrello/422dd8a47d900fd85be8909358773aedff8a174e