[Uml-devel] [Bug 121886] Modifying the name of a function makes sequence diagram to freeze
Oliver Kellogg
okellogg at users.sourceforge.net
Mon Feb 13 12:05:02 UTC 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=121886
------- Additional Comments From okellogg users sourceforge net 2006-02-13 21:03 -------
SVN commit 509132 by okellogg:
setOperation(): Connect the operation's modified() to the m_pFText's setMessageText().
This is the basic precondition for operation renaming to be propgated from
the list view to the sequence diagram but I haven't been able to reproduce
the reported freezing.
CCBUG:121886
M +8 -2 messagewidget.cpp
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/messagewidget.cpp #509131:509132
@ -484,7 +484,11 @
}
void MessageWidget::setOperation(UMLOperation *op) {
+ if (m_pObject && m_pFText)
+ disconnect(m_pObject, SIGNAL(modified()), m_pFText, SLOT(setMessageText()));
m_pObject = op;
+ if (m_pObject && m_pFText)
+ connect(m_pObject, SIGNAL(modified()), m_pFText, SLOT(setMessageText()));
}
QString MessageWidget::getCustomOpText() {
@ -815,9 +819,10 @
updateResizability();
UMLClassifier *c = dynamic_cast<UMLClassifier*>( pWB->getUMLObject() );
+ UMLOperation *op = NULL;
if (c) {
Uml::IDType opId = STR2ID(m_CustomOp);
- UMLOperation *op = dynamic_cast<UMLOperation*>( c->findChildObjectById(opId, true) );
+ op = dynamic_cast<UMLOperation*>( c->findChildObjectById(opId, true) );
if (op) {
// If the UMLOperation is set, m_CustomOp isn't used anyway.
// Just setting it empty for the sake of sanity.
@ -839,7 +844,6 @
m_CustomOp = QString::null;
}
}
- setOperation(op);
}
Uml::IDType textId = STR2ID(textid);
@ -878,6 +882,8 @
<< tag << endl;
}
}
+ if (op) // Do it here and not earlier because now we have the
+ setOperation(op); // m_pFText and setOperation() can make connections.
// always need this
setLinkAndTextPos();
More information about the umbrello-devel
mailing list