diff --git a/umbrello/dialogs/pages/classgeneralpage.h b/umbrello/dialogs/pages/classgeneralpage.h --- a/umbrello/dialogs/pages/classgeneralpage.h +++ b/umbrello/dialogs/pages/classgeneralpage.h @@ -96,6 +96,7 @@ VisibilityEnumWidget *m_visibilityEnumWidget; void insertStereotypesSorted(const QString& type); + void setInstanceWidgetNameIfApplicable(const QString& name) const; public slots: diff --git a/umbrello/dialogs/pages/classgeneralpage.cpp b/umbrello/dialogs/pages/classgeneralpage.cpp --- a/umbrello/dialogs/pages/classgeneralpage.cpp +++ b/umbrello/dialogs/pages/classgeneralpage.cpp @@ -367,6 +367,7 @@ UMLObject* o = m_pInstanceWidget->umlObject(); if (!o) { uError() << "UML object of instance widget is zero."; + setInstanceWidgetNameIfApplicable(name); return; } @@ -393,3 +394,17 @@ } } +/** + * Sets the input name to the instance widget if the change is applicable. + * @param name The name of the widget + */ +void ClassGeneralPage::setInstanceWidgetNameIfApplicable(const QString& name) const +{ + if(!m_pInstanceWidget) + return; + + if(m_pInstanceWidget->isCombinedFragmentWidget() || m_pInstanceWidget->isFloatingDashLineWidget()) + { + m_pInstanceWidget->setName(name); + } +}