The bug does not appear on every project, but does on the CB-Project itself. Feels like size matters here.
Added these lines into classbrowser.cpp +403:
tree->SelectItem( parent );
tree->EnsureVisible( parent );
tree->SetIndent(0); // ? Thought this would scroll tree-window to the left, this won't do it.
tree->Update();
wxMilliSleep(50);
...just for the fun if it.
Search goes to the bottom, then jumps up an down the tree again, from wxCRC32 up to the TypeInfo templates in SqPlus and or wxBase64 and down again. No pattern here, but the search sticks to the bottom of the tree.
After some time CB freezes up - maybe system's recursion limit exceeded, but no messages.
Maybe something acout the TreeIds messed up, duplicates?
IMHO:Can this search not be done more efficiently? Recursion is evil, man!
I had actually expected something like a token-lookup into a map-like thing in the class-browser, holding all the parsed symbols and attached info.
So shouldn't we rather ask the builder of the tree (Parser::BuildTree) where to find the wanted gizmo instead of scanning the whole wxTree?
Just my 2 cent...
BjoernP