| Bug 108688: Generating Javascript Code from a Class diagram hangs Umbrello | (crash) |
| Opened: | 2005-07-07 11:31 |
| Product: | umbrello |
| Component: | general |
| Version: | 1.4 |
| Status: | RESOLVED |
| Platform: | unspecified |
| Resolution: | FIXED |
| Reporter: | Peter Sabaini |
| Assigned to: | Umbrello Development Group |
Version: 1.4 (using KDE 3.4.0, Debian Package 4:3.4.0-0ubuntu3.2 (3.1))
Compiler: gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2)
OS: Linux (i686) release 2.6.10-5-386
* Created a class diagram in Umbrello
* Generated Python code -- works
* Generate Javascript
-- Umbrello becomes unresponsive
-- Consumes a lot of RAM (>450Mb)
-- Had to kill the process (SIGTERM works)
------- Additional Comment #1 From Oliver Kellogg 2005-07-08 05:50 -------
SVN commit 432648 by okellogg:
formatDoc(): Fix glaring bug in the loop for splitting up a single line.
BUG:108688
M +5 -3 codegenerator.cpp
--- trunk/KDE/kdesdk/umbrello/umbrello/codegenerator.cpp #432647:432648
at at -669,10 +669,10 at at
* at param linewidth
*/
QString CodeGenerator::formatDoc(const QString &text, const QString &linePrefix, int lineWidth) {
- QString output, comment(text);
+ QString output;
const QString endLine = getNewLineEndingChars();
- QStringList lines = QStringList::split(endLine, comment);
+ QStringList lines = QStringList::split(endLine, text);
for (QStringList::ConstIterator lit = lines.begin(); lit != lines.end(); ++lit) {
QString input = *lit;
input.remove( QRegExp("\\s+$") );
at at -682,7 +682,9 at at
}
int index;
do {
- index = comment.findRev(" ", lineWidth + 1);
+ index = input.findRev(" ", lineWidth + 1);
+ if (index == -1)
+ break;
output += linePrefix + input.left(index) + endLine; // add line
input.remove(0, index + 1); //and remove processed string, including
// white space
------- Additional Comment #2 From Oliver Kellogg 2005-08-03 18:04 -------
***
| Attachment | Type | Modified | Status | Actions |
|---|---|---|---|---|
| Create a New Attachment (proposed patch, testcase, etc.) | View All | |||
Bugs.KDE.Org Actions
