diff -Nru umbrello-4.12.95/CMakeLists.txt umbrello-4.12.97/CMakeLists.txt --- umbrello-4.12.95/CMakeLists.txt 2014-03-18 05:53:49.000000000 +0000 +++ umbrello-4.12.97/CMakeLists.txt 2014-03-25 08:28:52.000000000 +0000 @@ -8,7 +8,7 @@ set(VERSION_MAJOR "2") set(VERSION_MINOR "12") -set(VERSION_PATCH "95") +set(VERSION_PATCH "97") # set default umbrello version # umbrello version could be overridden by cmake command line using -DUMBRELLO_VERSION_STRING=major.minor.patch diff -Nru umbrello-4.12.95/debian/changelog umbrello-4.12.97/debian/changelog --- umbrello-4.12.95/debian/changelog 2014-03-23 12:07:55.000000000 +0000 +++ umbrello-4.12.97/debian/changelog 2014-04-02 10:04:33.000000000 +0000 @@ -1,3 +1,9 @@ +umbrello (4:4.12.97-0ubuntu1) trusty; urgency=medium + + * New upstream release candidate + + -- Philip Muškovac Wed, 02 Apr 2014 12:04:32 +0200 + umbrello (4:4.12.95-0ubuntu1) trusty; urgency=medium * New upstream beta release diff -Nru umbrello-4.12.95/debian/control umbrello-4.12.97/debian/control --- umbrello-4.12.95/debian/control 2014-03-23 12:07:55.000000000 +0000 +++ umbrello-4.12.97/debian/control 2014-04-02 10:04:33.000000000 +0000 @@ -4,7 +4,7 @@ Maintainer: Kubuntu Developers Build-Depends: kde-sc-dev-latest (>= 4:4.10.2), cmake, debhelper (>= 9), pkg-kde-tools (>= 0.12), - kdelibs5-dev (>= 4:4.12.95), + kdelibs5-dev (>= 4:4.12.97), libxslt1-dev, libxml2-dev, libboost1.54-dev Standards-Version: 3.9.4 Homepage: http://www.kde.org diff -Nru umbrello-4.12.95/lib/cppparser/lexercache.cpp umbrello-4.12.97/lib/cppparser/lexercache.cpp --- umbrello-4.12.95/lib/cppparser/lexercache.cpp 2014-03-18 05:53:49.000000000 +0000 +++ umbrello-4.12.97/lib/cppparser/lexercache.cpp 2014-03-25 08:28:52.000000000 +0000 @@ -112,8 +112,8 @@ QDateTime LexerCache::fileModificationTimeCached(const HashedString& fileName) { - FileModificationMap::const_iterator it = m_fileModificationCache.find(fileName); - if (it != m_fileModificationCache.end()) { + FileModificationMap::const_iterator it = m_fileModificationCache.constFind(fileName); + if (it != m_fileModificationCache.constEnd()) { ///Use the cache for 10 seconds if ((*it).m_readTime.secsTo(m_currentDateTime) < 10) { return (*it).m_modificationTime; diff -Nru umbrello-4.12.95/lib/cppparser/macro.h umbrello-4.12.97/lib/cppparser/macro.h --- umbrello-4.12.95/lib/cppparser/macro.h 2014-03-18 05:53:49.000000000 +0000 +++ umbrello-4.12.97/lib/cppparser/macro.h 2014-03-25 08:28:52.000000000 +0000 @@ -132,7 +132,8 @@ Macro(const QString &n, const QString &b) : m_idHashValid(false), m_valueHashValid(false), m_name(n), m_line(0), m_column(0), m_body(b), m_hasArguments(false), m_isUndefMacro(false) {} //Sorts the macros by their hash-value, then by their name. - struct NameArgCompare { + class NameArgCompare { + public: bool operator () (const Macro& lhs, const Macro& rhs) const { size_t lhash = lhs.idHash(); @@ -156,7 +157,8 @@ return false; } }; - struct NameCompare { + class NameCompare { + public: bool operator () (const Macro& lhs, const Macro& rhs) const { size_t lhash = lhs.idHash(); @@ -169,14 +171,16 @@ } }; - struct NameArgHash { + class NameArgHash { + public: size_t operator () (const Macro& macro) const { return macro.idHash(); } }; - struct NameArgEqual { + class NameArgEqual { + public: bool operator () (const Macro& lhs, const Macro& rhs) const { int df = lhs.m_name.compare(rhs.m_name); diff -Nru umbrello-4.12.95/lib/interfaces/hashedstring.cpp umbrello-4.12.97/lib/interfaces/hashedstring.cpp --- umbrello-4.12.95/lib/interfaces/hashedstring.cpp 2014-03-18 05:53:49.000000000 +0000 +++ umbrello-4.12.97/lib/interfaces/hashedstring.cpp 2014-03-25 08:28:52.000000000 +0000 @@ -379,7 +379,7 @@ //Now count together all groups that are completely within the given string-set(their hitCount equals their size) ItemSet found; - for (QHash::const_iterator it = hitCounts.begin(); it != hitCounts.end(); ++it) { + for (QHash::const_iterator it = hitCounts.constBegin(); it != hitCounts.constEnd(); ++it) { if (it.value() == (*m_sizeMap.find(it.key()))) found.insert(it.key()); } diff -Nru umbrello-4.12.95/umbrello/codeimport/cppimport.cpp umbrello-4.12.97/umbrello/codeimport/cppimport.cpp --- umbrello-4.12.95/umbrello/codeimport/cppimport.cpp 2014-03-18 05:53:49.000000000 +0000 +++ umbrello-4.12.97/umbrello/codeimport/cppimport.cpp 2014-03-25 08:28:52.000000000 +0000 @@ -93,7 +93,7 @@ } ParsedFilePointer ast = ms_driver->translationUnit(fileName); if (ast.isNull()) { - uError() << fileName << " not found"; + uError() << fileName << " not found in list of parsed files"; return; } ms_seenFiles.append(fileName); diff -Nru umbrello-4.12.95/umbrello/umlscene.cpp umbrello-4.12.97/umbrello/umlscene.cpp --- umbrello-4.12.95/umbrello/umlscene.cpp 2014-03-18 05:53:49.000000000 +0000 +++ umbrello-4.12.97/umbrello/umlscene.cpp 2014-03-25 08:28:52.000000000 +0000 @@ -624,14 +624,7 @@ // We need to invoke createAutoAttributeAssociations() // on all other widgets again because the newly created // widget might saturate some latent attribute assocs. - foreach(UMLWidget* w, m_WidgetList) { - if (w != newWidget) { - createAutoAttributeAssociations(w); - - if (o->baseType() == UMLObject::ot_Entity) - createAutoConstraintAssociations(w); - } - } + createAutoAttributeAssociations2(newWidget); break; default: break; @@ -816,6 +809,8 @@ } setupNewWidget(newWidget); + createAutoAssociations(newWidget); + createAutoAttributeAssociations2(newWidget); } /** @@ -2617,6 +2612,18 @@ } +void UMLScene::createAutoAttributeAssociations2(UMLWidget *widget) +{ + foreach(UMLWidget* w, m_WidgetList) { + if (w != widget) { + createAutoAttributeAssociations(w); + + if (widget->umlObject() && widget->umlObject()->baseType() == UMLObject::ot_Entity) + createAutoConstraintAssociations(w); + } + } +} + /** * Find the maximum bounding rectangle of FloatingTextWidget widgets. * Auxiliary to copyAsImage(). diff -Nru umbrello-4.12.95/umbrello/umlscene.h umbrello-4.12.97/umbrello/umlscene.h --- umbrello-4.12.95/umbrello/umlscene.h 2014-03-18 05:53:49.000000000 +0000 +++ umbrello-4.12.97/umbrello/umlscene.h 2014-03-25 08:28:52.000000000 +0000 @@ -253,6 +253,7 @@ void createAutoAssociations(UMLWidget * widget); void createAutoAttributeAssociations(UMLWidget *widget); void createAutoConstraintAssociations(UMLWidget* widget); + void createAutoAttributeAssociations2(UMLWidget *widget); void updateContainment(UMLCanvasObject *self);