Bug 329358

Summary: Crash when painting certain widgets
Product: [Applications] umbrello Reporter: Joris Steyn <kde>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: major    
Priority: NOR    
Version: Git   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Joris Steyn 2013-12-29 10:54:24 UTC
Umbrello crashes when adding a widget to a diagram. This happens only to widgets of a specific type. The crash can be reproduced by adding an artifact or interface to a component diagram. Some widgets on deployment diagrams (and probably more, class diagram widgets seem fine) result in the same crash.

Problem exists in master (see bisect below) - 4.11/4.12 are fine.

Reproducible: Always

Steps to Reproduce:
1. Add component diagram
2. Add an artifact



Git-bisect:
fa45c5437b91cce02b98478efe8694b6551ff18e is the first bad commit
commit fa45c5437b91cce02b98478efe8694b6551ff18e
Author: Ralf Habacker <ralf.habacker@freenet.de>
Date:   Mon Nov 25 22:10:48 2013 +0100

    Refactor WidgetBase derived classes to use setSelected() and
    isSelected() from QGraphicsItem instead of self provided
    members/methods.
    
    CCBUG:310283

Relevant part of stack trace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[KCrash Handler]
#5  0x0000000000685f67 in QFlags<QStyle::StateFlag>::operator& (this=0x8, f=QStyle::State_Selected) at /usr/include/qt4/QtCore/qglobal.h:2332
#6  0x00000000006d3038 in UMLWidget::paint (this=0x1fda310, painter=0x7fffe71d59d0, option=0x0, widget=0x0) at umbrello/umbrello/widgets/umlwidget.cpp:1576
#7  0x000000000067bd14 in ArtifactWidget::paintAsNormal (this=0x1fda310, painter=0x7fffe71d59d0) at umbrello/umbrello/widgets/artifactwidget.cpp:291
#8  0x000000000067abcc in ArtifactWidget::paint (this=0x1fda310, painter=0x7fffe71d59d0, option=0x1fd95c8, widget=0x1f86230) at umbrello/umbrello/widgets/artifactwidget.cpp:60
#9  0x00007f0c0bdb366f in ?? () from /usr/lib/libQtGui.so.4
#10 0x00007f0c0bdb4425 in ?? () from /usr/lib/libQtGui.so.4
#11 0x00007f0c0bdb4ad6 in ?? () from /usr/lib/libQtGui.so.4
Comment 1 Ralf Habacker 2013-12-29 14:45:32 UTC
Git commit 47bed77a5590e6668cc9e5295feb527c8080e6f2 by Ralf Habacker.
Committed on 29/12/2013 at 14:44.
Pushed by habacker into branch 'master'.

Crash fix.

M  +12   -12   umbrello/widgets/artifactwidget.cpp
M  +4    -4    umbrello/widgets/artifactwidget.h

http://commits.kde.org/umbrello/47bed77a5590e6668cc9e5295feb527c8080e6f2