Bug 324058 - Crash deleting activity with pin
Summary: Crash deleting activity with pin
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: Git
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Ralf Habacker
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-26 09:55 UTC by Ralf Habacker
Modified: 2013-11-12 21:46 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.11.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf Habacker 2013-08-26 09:55:39 UTC
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
Comment 1 Ralf Habacker 2013-08-26 10:59:02 UTC
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
Comment 2 Ralf Habacker 2013-08-26 12:13:25 UTC
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