[Uml-devel] kdesdk/umbrello/umbrello

David Faure faure at kde.org
Mon Jul 14 08:39:13 UTC 2003


On Friday 11 July 2003 17:36, Jonathan Riddell wrote:
> > ==============
> > I'm getting a crash in the CVS version of umbrello, in a collaboration diagram,
> > when using RMB / Select Operation... on a "message" (which links two classes).
> > 
> > This due to FloatingText::showOpDlg() doing:
> >         UMLClassifier* c = (UMLClassifier*)getUMLObject();
> > However getUMLObject returns 0, since FloatingText doesn't pass an uml object
> > to its base class (umlwidget), it only passes umlwidgetdata.
> > 
> > I'm not sure how to fix this - what should happen here? How should FloatingText
> > know about a "classifier", whatever that is?
> > ==============
> 
> I've been unable to get this to crash.  Is it specific to a diagram
> you have or is it recreateable from a new file?  A step by step
> recreation would be most useful.

* New Collaboration diagram
* Drag two classes into it
* Click "Message" toolbar button
* Link the two classes together
* Right-click the "link"
* In the popupmenu choose "Select Operation"
=> core dump

> A classifier is a UML term.  It is the super-class for Classes and
> Interfaces (and DataTypes) in UML and also in Umbrello.
> 
> The UMLObject for the FloatingText should be set by the MessageWidget
> just after it is created.  It's quite possible that there's a mistake
> which allows the FloatingText not to have a UMLObject set for it, but
> I havn't found it.

MessageWidget::MessageWidget(UMLView*, UMLWidgetData*) is the constructor
being used.
The FloatingText is created by MessageWidget::activate, which doesn't set the 
UMLObject for it.

-- 
David FAURE, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
Qtella users - stability patches at http://blackie.dk/~dfaure/qtella.html




More information about the umbrello-devel mailing list