Version: 1.5.1 (using KDE KDE 3.5.1) OS: Linux Loaded plugins: none Backtraces: ? How to Reproduce: create a class in a class diagram, add a function to this class. Create a new sequence diagram, using the function you just created. Then go back to the class diagram, change the name of your function: when you try to use the sequence diagram, nothing happens. But Umbrello doesn't crash, so you just have to delete the sequence diagram, and draw it again... Expected Behaviour: modifying the name of a function should update every use of this function, in sequence diagram (and others)
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();
Can we close this?
I can still confirm this problem in Umbrello 1.5.2
> I can still confirm this problem in Umbrello 1.5.2 Since it doesn't happen for me, any further info would be helpful (for example, a gdb backtrace that shows the calls involved in the lockup)
@Jonathan: can you still reproduce this bug? I've not understand how to reproduce in current trunk.
works at least with version 2.15.3