| Summary: | memory problem when importing classes from c++ sources | ||
|---|---|---|---|
| Product: | [Applications] umbrello | Reporter: | timblechmann |
| Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | example header file | ||
|
Description
timblechmann
2006-02-25 01:12:42 UTC
Created attachment 14858 [details]
example header file
Doesn't happen for me with branches/KDE/3.5 of today, probably was fixed by http://www.geeksoc.org/~jr/umbrello/uml-devel/att-9259/umbrello-isDatatype.patch Doh, I don't know how this could work for me. You are right, it's an open bug. SVN commit 522714 by okellogg:
findUMLObject(): Detect name match with a surrounding scope proper.
(The problem is triggered by the declaration "friend class RedBlackTree;"
int the nested class "iterator" of the p_tree.hpp attachment.)
BUG:122668
M +1 -1 ChangeLog
M +8 -0 umbrello/model_utils.cpp
--- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #522713:522714
@@ -5,6 +5,7 @@
* Static variables in java code are not marked static (59190)
* Save autosave file to a more obvious place (72019)
* Usability and responsiveness improvements to code import (93296)
+* Memory problem when importing classes from c++ sources (122668)
Version 1.5.2
@@ -32,7 +33,6 @@
* Crash when importing Python files (121952)
* "void" is imported as class and not datatypes (122184)
* Crash when creating a datatype with the same name as a class (122188)
-* Memory problem when importing classes from c++ sources (122668)
* Crash when refusing to rename a class on importing typedef (122914)
* Java import fails at abstract methods or interfaces (123661)
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/model_utils.cpp #522713:522714
@@ -139,6 +139,14 @@
// Remember packages that we've seen - for avoiding cycles.
UMLPackageList seenPkgs;
for (; pkg; pkg = currentObj->getUMLPackage()) {
+ if (nameWithoutFirstPrefix.isEmpty()) {
+ if (caseSensitive) {
+ if (pkg->getName() == name)
+ return pkg;
+ } else if (pkg->getName().lower() == name.lower()) {
+ return pkg;
+ }
+ }
if (seenPkgs.findRef(pkg) != -1) {
kdError() << "findUMLObject(" << name << "): "
<< "breaking out of cycle involving "
|