When importing http://websvn.kde.org/*checkout*/trunk/kdesupport/kdewin32/tools/mt/xml.h?revision=964607 in the UMLModell view one will see two class Assembly in the Base package. - The first class is located in the Base package, which is correct - The second class belongs to the Security namespace and is therefore inserted wrongly into the Base package. When I open the property tab of the second class item and press apply, a new Security package entry in the UMLModel view will be created instead of reusing the already available. In this newly created package the class Assembly is then visible. I detect this error on windows, but I guess that it will also occur on unix.
This crash report is at least 3 years old and there were no further comments or status updates since then. Therefore we believe that this crash is already fixed in recent KDE 4 versions or the backtrace is no longer applicable to the current KDE 4 sources. If the crash still happens with a recent KDE version (4.10.5 or 4.11), please add an updated backtrace or provide steps to reproduce. For more information, see http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports (To prevent automatic closing of this bug in the future, please set the bug status to ASSIGNED or CONFIRMED)
At least with 4.11.4 no crash happens and 4.10 isn't maintained anymore, so this seems to be fixed.
Has been misguided by commit 1: The original report did not report a crash, instead it reports wrongly assignments of classes to packages which is still present in git master.
There seems to be a logic failure in import_utils:cpp:createUMLObject() at line 206 there is UMLObject * o = umldoc->findUMLObject(name, type, parentPkg); with name = "Base::XML" parentPkg = 0 -> returned o has already the "Base" parent package at line 299 parentPkg = "Logical View"; !!! wrong parentPkg } else if (parentPkg && !bPutAtGlobalScope) { UMLPackage *existingPkg = o->umlPackage(); = "Base" if (existingPkg != umldoc->datatypeFolder()) { if (existingPkg) existingPkg->removeObject(o); else uError() << "createUMLObject(" << name << "): " << "o->getUMLPackage() was NULL"; o->setUMLPackage(parentPkg); > assign to "logical view" which is incorrect parentPkg->addObject(o); -> there is already an object XML in Logical View } }
Works with git master