Revision 1282402
Go back to digest for 4th March 2012Bug Fixes in Multimedia
(In reply to comment #1)
> [...]
> you have an inheritance in the opposite direction.
> The mutual inheritance throws Umbrello off the handle and so I've removed
> the first one. (Actually I wonder why Umbrello did not disallow its
> creation.)
It turns out that
AssocRules::allowAssociation(Uml::AssociationType,
UMLWidget *, UMLWidget *)
was being called twice: First in ToolBarStateAssociation::setSecondWidget()
(toolbarstateassociation.cpp:226) and again via ToolBarStateAssociation::
addAssociationInViewAndDoc() in UMLView::addAssociation().
At the time of the second call, the AssociationWidget was already created
and inserted at its role widgets.
Fixed as follows:
- In UMLView::addAssociation(), remove the call to
AssocRules::allowAssociation()
- At ToolBarStateAssociation::addAssociationInViewAndDoc(), change return
type to bool (true for success) and test the success at
ToolBarStateAssociation::setSecondWidget()
- Revert the "#if 0" at the extendedCheck code at assocrules.cpp:170 ff.
thus re-enabling the check for illegal mutual associations.
File Changes
- /trunk/KDE/kdesdk/umbrello
- /ChangeLog
- /umbrello/assocrules.cpp
- /umbrello/toolbarstateassociation.cpp
- /umbrello/toolbarstateassociation.h
- /umbrello/umlview.cpp
- /umbrello/widgets/associationwidget.cpp