Bug 175096 - crash on import classes(c++)
Summary: crash on import classes(c++)
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Microsoft Windows Microsoft Windows
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
: 162821 217387 235553 243511 255803 268339 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-11-14 02:05 UTC by ingo
Modified: 2014-02-11 23:56 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.12.3


Attachments
New crash information added by DrKonqi (12.13 KB, text/plain)
2014-01-14 12:37 UTC, Ralf Habacker
Details
New crash information added by DrKonqi (14.23 KB, text/plain)
2014-01-30 16:49 UTC, anthonybakermpls
Details
New crash information added by DrKonqi (13.96 KB, text/plain)
2014-01-30 23:16 UTC, anthonybakermpls
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ingo 2008-11-14 02:05:17 UTC
Version:           2.1.0 (using KDE 4.1.0)
OS:                MS Windows
Installed from:    MS Windows

On Windows OS (Windows XP 5.1.2600 SP3) Import Classes (c++) crashes and terminate umbrelloafter  few seconds. Then A dialog to send this problem report to microsoft popup.

The Crash is independent on amount of header-files or class complexity.
The PRG crashes every time, i have tested it on 2 PC's and with closing active PRG's before start.

The following lines are part of the Microsoft crash report file.

    <MATCHING_FILE NAME="umbrello.exe" SIZE="4108288" CHECKSUM="0x28AB0D0D" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="07/30/2008 01:18:12" UPTO_LINK_DATE="07/30/2008 01:18:12" />


<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1063424" CHECKSUM="0x2E7379C2" BIN_FILE_VERSION="5.1.2600.5512" BIN_PRODUCT_VERSION="5.1.2600.5512" PRODUCT_VERSION="5.1.2600.5512" FILE_DESCRIPTION="Client-DLL für Windows NT-Basis-API" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Betriebssystem Microsoft® Windows®" FILE_VERSION="5.1.2600.5512 (xpsp.080413-2111)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. Alle Rechte vorbehalten." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x106523" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5512" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5512" LINK_DATE="04/14/2008 02:21:52" UPTO_LINK_DATE="04/14/2008 02:21:52" VER_LANGUAGE="Deutsch (Deutschland) [0x407]" />
Comment 1 Iztok Kobal 2009-08-15 12:07:31 UTC
Umbrello UML Modeller
Version 2.1.3
Using KDE 4.1.3 (KDE 4.1.3) "release 76.17"

platform: SuSE-10.3, x86_64, which probably is irrelevant ...


However:

importing:

namespace Rtdb {

class CDriver;

class CAddress : public ::CAddress {
friend class Rtdb::CDriver;
public:
    CAddress();
    CAddress(int a_address);

    virtual bool Equals(::CAddress& a_address);
    virtual int Compare(::CAddress& a_address);
    virtual bool Serialize(CXMLArchive*& a_par);
    virtual const char* ToString();
    virtual void Read(Head& a_head);
    virtual void Write(Head& a_head);

private:
    int address_;
};

}


crashes Umbrello:

Application: Umbrello UML Modeller (umbrello), signal SIGSEGV
[?1034hUsing host libthread_db library "/lib64/libthread_db.so.1".
0x00002b57a4bda670 in nanosleep () from /lib64/libc.so.6

Thread 1 (Thread 0x2b57a7122ce0 (LWP 25147)):
[KCrash Handler]
#5  0x0000000000705db9 in QList<UMLObject*>::indexOf ()
#6  0x000000000079cc9a in UMLPackage::addObject ()
#7  0x00000000006d012b in Uml::CmdCreateUMLObject::redo ()
#8  0x00002b57a3fd6773 in QUndoStack::push () from /usr/lib64/libQtGui.so.4
#9  0x00000000007be1e5 in UMLApp::executeCommand ()
#10 0x000000000078f669 in Object_Factory::createNewUMLObject ()
#11 0x0000000000790d4a in Object_Factory::createUMLObject ()
#12 0x00000000005888ae in Import_Utils::createUMLObject ()
#13 0x000000000058985b in Import_Utils::addMethodParameter ()
#14 0x0000000000572885 in CppTree2Uml::parseFunctionArguments ()
#15 0x0000000000573cdd in CppTree2Uml::parseFunctionDeclaration ()
#16 0x00000000005744cd in CppTree2Uml::parseDeclaration ()
#17 0x0000000000571abe in CppTree2Uml::parseSimpleDeclaration ()
#18 0x000000000056dfe5 in TreeParser::parseClassSpecifier ()
#19 0x00000000005762d9 in CppTree2Uml::parseClassSpecifier ()
#20 0x0000000000571a62 in CppTree2Uml::parseSimpleDeclaration ()
#21 0x000000000056e0a3 in TreeParser::parseLinkageBody ()
#22 0x0000000000575b4d in CppTree2Uml::parseNamespace ()
#23 0x000000000056df23 in TreeParser::parseTranslationUnit ()
#24 0x00000000005716c7 in CppTree2Uml::parseTranslationUnit ()
#25 0x000000000059e820 in CppImport::feedTheModel ()
#26 0x0000000000580ef1 in ClassImport::importFiles ()
#27 0x00000000007bf127 in UMLApp::importFiles ()
#28 0x00000000007c4375 in UMLApp::slotImportClasses ()
#29 0x00000000007c708d in UMLApp::qt_metacall ()
#30 0x00002b579d8f7ab6 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#31 0x00002b57a3a58927 in QAction::triggered () from /usr/lib64/libQtGui.so.4
#32 0x00002b57a3a59110 in QAction::activate () from /usr/lib64/libQtGui.so.4
#33 0x00002b57a3df57da in QMenuPrivate::activateAction () from /usr/lib64/libQtGui.so.4
#34 0x00002b579e4ce241 in KMenu::mouseReleaseEvent () from /usr/lib64/libkdeui.so.5
#35 0x00002b57a3ab12a0 in QWidget::event () from /usr/lib64/libQtGui.so.4
#36 0x00002b57a3df3581 in QMenu::event () from /usr/lib64/libQtGui.so.4
#37 0x00002b57a3a5eeff in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4
#38 0x00002b57a3a62e59 in QApplication::notify () from /usr/lib64/libQtGui.so.4
#39 0x00002b579e41ac9b in KApplication::notify () from /usr/lib64/libkdeui.so.5
#40 0x00002b579d8e3859 in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4
#41 0x00002b57a3a64905 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/libQtGui.so.4
#42 0x00002b57a3ac4117 in QETWidget::translateMouseEvent () from /usr/lib64/libQtGui.so.4
#43 0x00002b57a3ac2e40 in QApplication::x11ProcessEvent () from /usr/lib64/libQtGui.so.4
#44 0x00002b57a3ae8023 in ?? () from /usr/lib64/libQtGui.so.4
#45 0x00002b57a52c9244 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#46 0x00002b57a52cc53d in ?? () from /usr/lib64/libglib-2.0.so.0
#47 0x00002b57a52cca0e in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#48 0x00002b579d90cc2f in QEventDispatcherGlib::processEvents () from /usr/lib64/libQtCore.so.4
#49 0x00002b57a3ae7e5f in QGuiEventDispatcherGlib::processEvents () from /usr/lib64/libQtGui.so.4
#50 0x00002b579d8e2cb5 in QEventLoop::processEvents () from /usr/lib64/libQtCore.so.4
#51 0x00002b579d8e2e0b in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#52 0x00002b579d8e4e99 in QCoreApplication::exec () from /usr/lib64/libQtCore.so.4
#53 0x0000000000773781 in main ()
Comment 2 Ralf Habacker 2011-11-30 08:15:40 UTC
I can reproduce this crash on windows. Some analysis shows that the problem is caused by the term ::CAddress, which seems to be not or wrongly handled. 

Changing all ::CAddress references to _CAddress or defining ::CAddress in a dedicated namespace do let umbrello not crash.
Comment 3 Jekyll Wu 2012-07-06 00:01:46 UTC
*** Bug 217387 has been marked as a duplicate of this bug. ***
Comment 4 Jekyll Wu 2012-07-06 00:01:58 UTC
*** Bug 255803 has been marked as a duplicate of this bug. ***
Comment 5 Jekyll Wu 2012-07-06 00:02:25 UTC
*** Bug 162821 has been marked as a duplicate of this bug. ***
Comment 6 Jekyll Wu 2012-07-06 00:03:19 UTC
*** Bug 243511 has been marked as a duplicate of this bug. ***
Comment 7 Jekyll Wu 2012-07-06 00:03:27 UTC
*** Bug 268339 has been marked as a duplicate of this bug. ***
Comment 8 Ralf Habacker 2014-01-14 12:37:25 UTC
Created attachment 84644 [details]
New crash information added by DrKonqi

umbrello (2.12.99-11cb9f4) on KDE Platform 4.11.3 using Qt 4.8.5

- What I was doing when the application crashed:
I imported c++ classes from openscenegraph source (subdirectory include/osgViewer)

This happens when the undo support and the code import option "create artificat on each imported file" are enabled. 

The reason: In void CmdCreateUMLObject::redo(), the UMLObject is added to the parent in UMLPackage::addObject(). In the crash case the parent is an UMLArtificat instance, which do not derive from UMLPackage. addObject() accesses m_objects to see if the object has already been added and crashes because of invalid class type. 

A fix would be either
- derive UMLArtifact from UMLPackage (and load/save child relations from/to xmi file)
- do not use UMLArtifact objects as parent (second best solution, because relations will be lost)

-- Backtrace (Reduced):
#5  0x000000000044c483 in QListData::size (this=this@entry=0x3168838) at /usr/include/QtCore/qlist.h:98
#6  0x0000000000642b12 in QList<UMLObject*>::indexOf (this=this@entry=0x3168838, t=@0x7fffc6df2978: 0x31668e0, from=from@entry=0) at /usr/include/QtCore/qlist.h:851
#7  0x00000000006750ab in UMLPackage::addObject (this=0x31687c0, pObject=0x31668e0) at /home/ralf.habacker/src/umbrello/umbrello/package.cpp:141
#8  0x00000000005dfdb6 in Uml::CmdCreateUMLObject::redo (this=0x30132e0) at /home/ralf.habacker/src/umbrello/umbrello/cmds/generic/cmd_createUMLObject.cpp:55
#9  0x0000000000681ab9 in UMLApp::executeCommand (this=0x24b6190, cmd=0x30132e0) at /home/ralf.habacker/src/umbrello/umbrello/uml.cpp:3083
Comment 9 anthonybakermpls 2014-01-30 16:49:33 UTC
Created attachment 84904 [details]
New crash information added by DrKonqi

umbrello (2.12.99-38632cf) on KDE Platform 4.11.3 using Qt 4.8.4

- What I was doing when the application crashed:

header import wizard. Nothing fancy. Had just compiled the program from the git repo.

-- Backtrace (Reduced):
#6  0x00000000006e4e63 in size (this=0x4033f40000000000) at /usr/include/qt4/QtCore/qlist.h:847
#7  QList<UMLObject*>::indexOf (this=this@entry=0x43afd08, t=@0x7fff91a48ab8: 0x44081a0, from=from@entry=0) at /usr/include/qt4/QtCore/qlist.h:850
#8  0x000000000072e7ff in UMLPackage::addObject (this=0x43afc90, pObject=0x44081a0) at /home/anthony/src/umbrello/umbrello/package.cpp:141
#9  0x0000000000668636 in Uml::CmdCreateUMLObject::redo (this=0x4408080) at /home/anthony/src/umbrello/umbrello/cmds/generic/cmd_createUMLObject.cpp:55
#10 0x0000000000744ac1 in UMLApp::executeCommand (this=0x2164090, cmd=cmd@entry=0x4408080) at /home/anthony/src/umbrello/umbrello/uml.cpp:3088
Comment 10 Ralf Habacker 2014-01-30 22:41:57 UTC
Git commit 8195e6432bfa52670381c328c99e2f00c86ec738 by Ralf Habacker.
Committed on 30/01/2014 at 19:52.
Pushed by habacker into branch 'master'.

Add debug support to functions in Import_Utils namespace.

M  +6    -3    umbrello/codeimport/import_utils.cpp

http://commits.kde.org/umbrello/8195e6432bfa52670381c328c99e2f00c86ec738
Comment 11 Ralf Habacker 2014-01-30 22:41:57 UTC
Git commit d19e332cb394672da16716bddad2980079bf863b by Ralf Habacker.
Committed on 30/01/2014 at 19:49.
Pushed by habacker into branch 'master'.

Derive UMLArtifact from UMLPackage, which is required by the undo framework.

M  +1    -1    umbrello/artifact.cpp
M  +2    -2    umbrello/artifact.h

http://commits.kde.org/umbrello/d19e332cb394672da16716bddad2980079bf863b
Comment 12 Ralf Habacker 2014-01-30 22:41:58 UTC
Git commit 39a2074f7fe97e14022c03ec05dba6ebd1759d89 by Ralf Habacker.
Committed on 30/01/2014 at 19:54.
Pushed by habacker into branch 'master'.

Crash fix of 'crash on import classes(c++)'

M  +5    -0    umbrello/codeimport/import_utils.cpp

http://commits.kde.org/umbrello/39a2074f7fe97e14022c03ec05dba6ebd1759d89
Comment 13 Ralf Habacker 2014-01-30 22:54:19 UTC
Git commit c8003ec2f066a33c968664bdf2f4b2737363008a by Ralf Habacker.
Committed on 30/01/2014 at 19:52.
Pushed by habacker into branch 'KDE/4.12'.

Add debug support to functions in Import_Utils namespace.
(cherry picked from commit 8195e6432bfa52670381c328c99e2f00c86ec738)

M  +6    -3    umbrello/codeimport/import_utils.cpp

http://commits.kde.org/umbrello/c8003ec2f066a33c968664bdf2f4b2737363008a
Comment 14 Ralf Habacker 2014-01-30 22:54:20 UTC
Git commit 04fe1b12c8260e40b29cba7043d3bfc43234ff0a by Ralf Habacker.
Committed on 30/01/2014 at 19:49.
Pushed by habacker into branch 'KDE/4.12'.

Derive UMLArtifact from UMLPackage, which is required by the undo framework.
(cherry picked from commit d19e332cb394672da16716bddad2980079bf863b)

M  +1    -1    umbrello/artifact.cpp
M  +2    -2    umbrello/artifact.h

http://commits.kde.org/umbrello/04fe1b12c8260e40b29cba7043d3bfc43234ff0a
Comment 15 Ralf Habacker 2014-01-30 22:54:22 UTC
Git commit dcb2f029c9ab4a210536ba000dcb5b8900f08173 by Ralf Habacker.
Committed on 30/01/2014 at 19:54.
Pushed by habacker into branch 'KDE/4.12'.

Crash fix of 'crash on import classes(c++)'

We do not support artifacts as parents yet.
FIXED-IN:4.12.3
(cherry picked from commit 39a2074f7fe97e14022c03ec05dba6ebd1759d89)

M  +5    -0    umbrello/codeimport/import_utils.cpp

http://commits.kde.org/umbrello/dcb2f029c9ab4a210536ba000dcb5b8900f08173
Comment 16 anthonybakermpls 2014-01-30 23:16:34 UTC
Created attachment 84914 [details]
New crash information added by DrKonqi

umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4

Retrieved new sources after commits by Ralf Habacker. Importing c++ sources.

-- Backtrace (Reduced):
#6  0x00000000006e51c3 in size (this=0x80008000800080) at /usr/include/qt4/QtCore/qlist.h:847
#7  QList<UMLObject*>::indexOf (this=this@entry=0x325e108, t=@0x7fffe6272d38: 0x62b5790, from=from@entry=0) at /usr/include/qt4/QtCore/qlist.h:850
#8  0x000000000072eb5f in UMLPackage::addObject (this=0x325e090, pObject=0x62b5790) at /home/anthony/src/umbrello/umbrello/package.cpp:141
#9  0x0000000000668986 in Uml::CmdCreateUMLObject::redo (this=0x67f0420) at /home/anthony/src/umbrello/umbrello/cmds/generic/cmd_createUMLObject.cpp:55
#10 0x0000000000744e21 in UMLApp::executeCommand (this=0x27bd2e0, cmd=cmd@entry=0x67f0420) at /home/anthony/src/umbrello/umbrello/uml.cpp:3088
Comment 17 Ralf Habacker 2014-01-30 23:26:23 UTC
(In reply to comment #16)
> Created attachment 84914 [details]
> New crash information added by DrKonqi
> 
> umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4
> 
> Retrieved new sources after commits by Ralf Habacker. Importing c++ sources.
Cannot reproduce a crash with the openscenegraph sources mentioned in this bug. Please provide a related header file or link with this crash is reproducable.
Comment 18 anthonybakermpls 2014-01-30 23:30:57 UTC
(In reply to comment #17)
> (In reply to comment #16)
> > Created attachment 84914 [details]
> > New crash information added by DrKonqi
> > 
> > umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4
> > 
> > Retrieved new sources after commits by Ralf Habacker. Importing c++ sources.
> Cannot reproduce a crash with the openscenegraph sources mentioned in this
> bug. Please provide a related header file or link with this crash is
> reproducable.

Crashes importing the following source header files.
https://github.com/anthonybakermpls/e/tree/master/include
Comment 19 Ralf Habacker 2014-01-31 00:35:02 UTC
(In reply to comment #18)
> (In reply to comment #17)
> > (In reply to comment #16)
> > > Created attachment 84914 [details]
> > > New crash information added by DrKonqi
> > > 
> > > umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4
> > > 
> > > Retrieved new sources after commits by Ralf Habacker. Importing c++ sources.
> > Cannot reproduce a crash with the openscenegraph sources mentioned in this
> > bug. Please provide a related header file or link with this crash is
> > reproducable.
> 
> Crashes importing the following source header files.
> https://github.com/anthonybakermpls/e/tree/master/include

umbrello fails to import the following lines from renderer.h
127:    map<int,shared_ptr<Renderable>> renderables;
128:    map<int,shared_ptr<Renderable>>::iterator renderables_iter;
Comment 20 Ralf Habacker 2014-01-31 06:54:30 UTC
(In reply to comment #19)
> (In reply to comment #18)
> > (In reply to comment #17)
> > > (In reply to comment #16)
> > > > Created attachment 84914 [details]
> > > > New crash information added by DrKonqi
> > > > 
> > > > umbrello (2.12.99-0102463) on KDE Platform 4.11.3 using Qt 4.8.4
> > > > 
> > > > Retrieved new sources after commits by Ralf Habacker. Importing c++ sources.
> > > Cannot reproduce a crash with the openscenegraph sources mentioned in this
> > > bug. Please provide a related header file or link with this crash is
> > > reproducable.
> > 
> > Crashes importing the following source header files.
> > https://github.com/anthonybakermpls/e/tree/master/include
> 
> umbrello fails to import the following lines from renderer
> 127:    map<int,shared_ptr<Renderable>> renderables;
> 128:    map<int,shared_ptr<Renderable>>::iterator renderables_iter;

The problem here is that the c++ lexer interprets '>>' as operator >>.  A workaround is to add a space between both '>'
> 127:    map<int,shared_ptr<Renderable> > renderables;
> 128:    map<int,shared_ptr<Renderable> >::iterator renderables_iter;
Comment 21 Ralf Habacker 2014-02-01 12:07:29 UTC
Git commit 4d4cbb10b1eb825ee7189eaf0aa8e4bd415a9972 by Ralf Habacker.
Committed on 01/02/2014 at 10:31.
Pushed by habacker into branch 'master'.

Fix nested template parse error.

The term '>>' is parsed as Token_shift, which prevents to be used
as template closing tag and results into using a not supported
UMLAssociation object as parent.

M  +1    -1    umbrello/codeimport/kdevcppparser/lexer.cpp
M  +6    -2    umbrello/codeimport/kdevcppparser/parser.cpp
M  +1    -1    umbrello/codeimport/kdevcppparser/preprocesslexer.cpp
M  +1    -1    umbrello/codeimport/kdevcppparser/preprocesslexer.h

http://commits.kde.org/umbrello/4d4cbb10b1eb825ee7189eaf0aa8e4bd415a9972
Comment 22 Ralf Habacker 2014-02-01 12:07:29 UTC
Git commit 7fe990cfc85c2c8087157b84d040171cd9ab330e by Ralf Habacker.
Committed on 30/01/2014 at 23:54.
Pushed by habacker into branch 'master'.

Fix crash adding UMLObject to a UMLAssociation parent.

UMLAssociation is not derived from UMLPackage, which is required to be
used as parent.

The root cause for the crash is a c++ parse error, which is covered by
another commit.

M  +7    -2    umbrello/cmds/generic/cmd_createUMLObject.cpp
M  +5    -2    umbrello/codeimport/import_utils.cpp

http://commits.kde.org/umbrello/7fe990cfc85c2c8087157b84d040171cd9ab330e
Comment 23 Ralf Habacker 2014-02-01 13:21:57 UTC
Git commit 0bf3c2fc314e298bbe8b18557aa5411ea9b1366f by Ralf Habacker.
Committed on 01/02/2014 at 10:31.
Pushed by habacker into branch 'KDE/4.12'.

Fix nested template parse error.

The term '>>' is parsed as Token_shift, which prevents to be used
as template closing tag and results into using a not supported
UMLAssociation object as parent.
FIXED-IN:4.12.3
(cherry picked from commit 4d4cbb10b1eb825ee7189eaf0aa8e4bd415a9972)

M  +1    -1    umbrello/codeimport/kdevcppparser/lexer.cpp
M  +6    -2    umbrello/codeimport/kdevcppparser/parser.cpp
M  +1    -1    umbrello/codeimport/kdevcppparser/preprocesslexer.cpp
M  +1    -1    umbrello/codeimport/kdevcppparser/preprocesslexer.h

http://commits.kde.org/umbrello/0bf3c2fc314e298bbe8b18557aa5411ea9b1366f
Comment 24 Ralf Habacker 2014-02-01 13:24:39 UTC
*** Bug 235553 has been marked as a duplicate of this bug. ***
Comment 25 Ralf Habacker 2014-02-07 13:27:11 UTC
Git commit b737a174817ed99986cf751cc53db126b88a9918 by Ralf Habacker.
Committed on 06/02/2014 at 23:33.
Pushed by habacker into branch '330788-3.5-cpp-parser'.

Add class Lexer debug info.

M  +2    -0    lib/cppparser/lexer.cpp
M  +2    -0    lib/cppparser/lexer.h

http://commits.kde.org/umbrello/b737a174817ed99986cf751cc53db126b88a9918
Comment 26 Ralf Habacker 2014-02-11 23:56:54 UTC
Git commit 59dfe3f86afb5c1bfbdfcc007aebbd666fe95733 by Ralf Habacker.
Committed on 06/02/2014 at 23:37.
Pushed by habacker into branch 'master'.

Fix nested template parse results for now.

This gives more hints about the import process.

M  +1    -1    lib/cppparser/lexer.h
M  +8    -3    lib/cppparser/parser.cpp

http://commits.kde.org/umbrello/59dfe3f86afb5c1bfbdfcc007aebbd666fe95733