KDevelop4 hotfixes

David Nolden david.nolden at art-master.de
Sun Jan 21 12:28:18 UTC 2007


Am Sonntag, 21. Januar 2007 04:58 schrieb Matt Rogers:
> On Saturday 20 January 2007 4:11 pm, David Nolden wrote:
>
> Are these so important that they would be considered showstoppers or just
> bugs where we can release a new version a week or so later? I'm waiting for
> ftpadmin to move the tarballs so that they get picked up by the kde.org ftp
> mirrors and then we'll be releasing.
>
> We can always put out another release in two weeks or so.

Hmm it depends. 

1.
There is that checkbox "preprocess included headers". When that is active an 
error for the error-list is created for each missing include-file. I've 
noticed that if you haven't set include-path correctly and kdevelop parses 
all files of a big project, the error-list gets unbelievably long and 
kdevelop quasi-hangs(including the user-interface) at about 10%, because all 
the time is spent handling the error-list.

That is fixed now.

2.
I finally fixed something that already caused some crashes in the past, but at 
that time I couldn't look at it, so I only workarounded it. It was the crash 
that was on the list with the recursive appendNextFunction(...)-backtrace.
That same basic error was still able to cause very long hangs in 
code-completion(See Christian Schneider's report).

That's fixed too(now at the source of the problem)

3.
When "preprocess included headers" is enabled, namespace-imports and aliases 
from imported headers are used. A linear intersection-search had to be done 
in the global namespace to find out what exact aliases and imports have to be 
used in each case. I noticed that for big projects, with many global imports, 
this search can extremely dominate the code-completion-time, and make 
code-completion(or the navigation-menu) nearly unusable. 

I fixed that too by creating a much more efficient intersection-search.


These were the only "real" problems of the current code-completion 
implementation that I know.

I fear that when kdevelop 3.4 is shipped, most people will check out the cool 
new features and also check "preprocess included headers", and in some cases 
they may get a bad impression of kdevelop. Also long hangs or crashes(point 
2) always look bad.

That's why I think these 3 fixes should get into stable kdevelop as fast as 
possible.

The exact commits I'm talking about are r624879, r624975, r625193, r625278, 
r625373, r625617, r625648 (some efforts are split across multiple commits)

greetings, David




More information about the KDevelop-devel mailing list