[Uml-devel] [Bug 283744] Junk residual artifacts littering project file

Oliver Kellogg okellogg at users.sourceforge.net
Sun Feb 5 20:17:54 UTC 2012


https://bugs.kde.org/show_bug.cgi?id=283744





--- Comment #8 from Oliver Kellogg <okellogg users sourceforge net>  2012-02-05 20:17:53 ---
Created an attachment (id=68538)
 --> (http://bugs.kde.org/attachment.cgi?id=68538)
Diff against trunk/KDE/kdesdk/umbrello/umbrello/umlobject.cpp r1274699

Next strangeness: Approx. 266 warnings of the kind:
loadFromXMI(UMLRole): id  "eGBqqwbL28pg"  is already in use!!! Please fix your
XMI file.
loadFromXMI(UMLRole): id  "ky0W686ecP7q"  is already in use!!! Please fix your
XMI file.
loadFromXMI(UMLRole): id  "u7GzV8xVG3ND"  is already in use!!! Please fix your
XMI file.
[... another 263 times ...]

It turns out this is an unfounded warning; see umlobject.cpp line 917ff:

    m_nId = STR2ID(id);
    if (m_BaseType == ot_Role) {
         // Some older Umbrello versions [...]
         UMLObject *o = umldoc->findObjectById(m_nId);

Apparently the UMLRole currently being loaded is somehow already known at the
UMLDoc. As soon as we set this->m_nId, that change is also visible at the
object registered at UMLDoc. Therefore the umldoc->findObjectById(m_nId) must
return true.
Obviously the fix is to not assign m_nId before calling
umldoc->findObjectById().

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.




More information about the umbrello-devel mailing list