From kdevelop-bugs Wed Feb 28 08:42:56 2007 From: Achim Herwig Date: Wed, 28 Feb 2007 08:42:56 +0000 To: kdevelop-bugs Subject: [Bug 142314] New: Opening SVN-controled folders in the Treeview, Message-Id: <20070228094255.142314.achim.herwig () wodca ! de> X-MARC-Message: https://marc.info/?l=kdevelop-bugs&m=118306972312382 ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. http://bugs.kde.org/show_bug.cgi?id=142314 Summary: Opening SVN-controled folders in the Treeview, makes kdevelop hang sometimes Product: kdevelop Version: 3.4.0 Platform: SuSE RPMs OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: general AssignedTo: kdevelop-bugs kdevelop org ReportedBy: achim.herwig wodca de Version: 3.4.0 (using KDE KDE 3.5.6) Installed from: SuSE RPMs Compiler: GCC 4.1 openSuSE 10.2 OS: Linux I built a debug version, attached to the process and could identify an infinite loop. I already have a partial solution, it works for me with this: Index: vcs/subversion/subversion_fileinfo.cpp =================================================================== --- vcs/subversion/subversion_fileinfo.cpp (Revision 637939) +++ vcs/subversion/subversion_fileinfo.cpp (Arbeitskopie) @ -80,6 +80,7 @ kdDebug(9036) << "METADATA : " << *it << ":" << ma[ *it ] << endl; if ( rx.search( *it ) == -1 ) return m_cachedDirEntries; // something is wrong ! :) curIdx = lastIdx = rx.cap( 1 ).toInt(); + while ( curIdx == lastIdx ) { if ( rx.cap( 2 ) == "path" ) path = ma[ *it ]; @ -93,9 +94,11 @ repos_prop_status = ma[ *it ].toInt(); else if ( rx.cap( 2 ) == "rev" ) rev = ma[ *it ].toLong(); - ++it; + if (++it == end) + break; if ( rx.search( *it ) == -1 ) break; // something is wrong ! :) curIdx = rx.cap( 1 ).toInt(); + kdDebug(9036) << "curIdx="<< curIdx << " rx.search( *it )="<