| Summary: | Program crash when importing classes from a java file | ||
|---|---|---|---|
| Product: | [Applications] umbrello | Reporter: | Manuel Reinaldo <manuel.reinaldo> |
| Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Slackware | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
SVN commit 551903 by okellogg:
parseStmt(): Handle "new" and sequemce of statements at state member declaration.
BUG:129107
M +22 -1 javaimport.cpp
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/javaimport.cpp #551902:551903
@@ -331,7 +331,28 @@
// At this point we know it's some kind of attribute declaration.
while (1) {
while (nextToken != "," && nextToken != ";") {
- name += nextToken; // add possible array dimensions to `name'
+ if (nextToken == "=") {
+ if ((nextToken = advance()) == "new") {
+ advance();
+ if ((nextToken = advance()) == "(") {
+ skipToClosing('(');
+ if ((nextToken = advance()) == "{") {
+ skipToClosing('{');
+ } else {
+ skipStmt();
+ break;
+ }
+ } else {
+ skipStmt();
+ break;
+ }
+ } else {
+ skipStmt();
+ break;
+ }
+ } else {
+ name += nextToken; // add possible array dimensions to `name'
+ }
nextToken = advance();
}
UMLObject *o = Import_Utils::insertAttribute(m_klass, m_currentAccess, name, typeName, m_comment);
|
Version: 1.5.3 (using KDE KDE 3.5.3) Installed from: Slackware Packages Compiler: gcc (GCC) 3.3.6 OS: Linux When importing classes from the file included the program gives a signal 11. It happens in Slackware 10.2 running under Colinux and in Fedora 5 running in Vmware both with Umbrello 1.5.3 and in Mandriva 10 (native) with Umbrello 1.5.2 I simplified the file to the minimum that causes the crash. -------------------------------- import java.awt.*; import java.io.*; import javax.swing.*; import javax.swing.table.*; import java.awt.Toolkit; public class DiffWatchPoints { DefaultTableModel model = new DefaultTableModel(){ public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; public void create() { } }