From kdevelop-devel Wed Sep 21 21:46:20 2005 From: Jens Zurheide Date: Wed, 21 Sep 2005 21:46:20 +0000 To: kdevelop-devel Subject: Code completion deadlock (again) and patch Message-Id: <200509212346.22833.jens.zurheide () gmx ! de> X-MARC-Message: https://marc.info/?l=kdevelop-devel&m=112733927514477 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Boundary-00=_uSdMDiwWIq2NNVj" --Boundary-00=_uSdMDiwWIq2NNVj Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi, I thought it is worth looking into the C++ code completion problems I=20 encounter with kdevelop from the KDE 3.5 svn branch. To reproduce the problem it is necessary to remove all old pcs-files from=20 $KDEHOME/share/apps/kdevcppsupport and to start kdevelop with a C++ project= =2E=20 =46rom the project options create a new pcs file for Qt.=20 Set the cursor at the end of a line in the editor press enter and then any= =20 letter. kdevelop goes into an infinite recursive loop starting in=20 languages/cpp/cppcodecompletion.cpp, line 1990. I have modified lib/catalog/catalog.cpp with the attached patch and this=20 solves the infinite recursion of kdevelop. Code completion seems to work=20 however I do not have enough time right now to test the patch thoroughly an= d=20 I have to admit that I don't know what I am doing. ;-) (Anyone daring to te= st=20 the patch?) As a side note: during the error hunting I had the impression that the=20 pcs-files are corrupted and unusable if kdevelop is started from a console= =20 and stopped via Ctrl-C. Have fun, Jens PS: BDB seems to be version 4.2.52 --Boundary-00=_uSdMDiwWIq2NNVj Content-Type: text/x-diff; charset="us-ascii"; name="catalog.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="catalog.patch" Index: catalog.cpp =================================================================== --- catalog.cpp (Revision 462077) +++ catalog.cpp (Arbeitskopie) @@ -414,7 +414,7 @@ cursors[ current ] = 0; - if( current > 0) { + if( current == args.size() ) { DBC* join_curs = 0; int rtn = d->dbp->join( d->dbp, cursors, &join_curs, 0 ); --Boundary-00=_uSdMDiwWIq2NNVj-- _______________________________________________ KDevelop-devel mailing list KDevelop-devel@barney.cs.uni-potsdam.de http://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel