kdevelop patch.

jbb jbb at kdevelop.org
Sun Mar 24 08:57:03 UTC 2002


Hi,

Here's two small patches in one diff.

I'm not entirely happy with these patches. Could someone look over them and 
correct if necessary. Unfortunately my carriage is about to turn into a 
pumpkin :-)

The first one might fix the following leak trapped by valgrind

==21862== 4100 bytes in 604 blocks are definitely lost in loss record 150 of 
165
==21862==    at 0x4006476E: malloc (vg_clientmalloc.c:618)
==21862==    by 0x40EACD24: operator new(unsigned) 
(../../../../gcc/libstdc++-v3/libsupc++/new_op.cc:48)
==21862==    by 0x8139FCE: CLogFileView::refresh(CProject*) 
(clogfileview.cpp:159)
==21862==    by 0x80CD341: CKDevelop::refreshTrees(QStrList*) 
(ckdevelop_noslot.cpp:480)

There are many more leaks but I have no more time to look into it. Also my 
machine is too small for valgrind and kdevelop. This output was generated by 
starting kdevelop, loading the kdevelop project, displaying a source file and 
then exiting. It took over an hour to do that!

==21862== LEAK SUMMARY:
==21862==    possibly lost:   126056 bytes in 287 blocks.
==21862==    definitely lost: 4538 bytes in 614 blocks.
==21862==    still reachable: 2918274 bytes in 85952 blocks.
==21862== Reachable blocks (those to which a pointer was found) are not shown.
==21862== To see them, rerun with: --show-reachable=yes

KDevelop is leaking like a sieve, so perhaps squashing a few of the worst of 
these leaks would be a worthwhile exercise. Just remember that you'll need at 
least 256M of memory. If you do run valgrind on kdevelop be prepared to be 
horrified :-)

The second part of this patch tries to fix the CMakeOutputWidget. The idea was 
that when you pressed F4 not only will the source file be displayed at the 
point of error, but the error is displayed in the output widget and also 
_highlighted_. This is important a/ so you can see the error in the window if 
it was not being displayed, and b/ you can easily see which error you are on 
when there are multiple errors displayed. (Not that we write errors, ummmm)

This patch also stops the output from scrolling to display new make output 
spewed out by the compiler, when you've already selected an error (with F4). 
This is really useful on slow machines and/or big compiles. You can get it to 
start tracking the end of the compiler output again by placing the cursor at 
the end of the make output. (Note: this should happen if you type the End key 
but unfortunately there's no focus in this widget - see below). All this was 
existing functionality in the previously release that got lost somewhere in 
the kde3 updates.

Falk, I know you're worried about flicker but I'm not getting any problems 
like that with this patch. I hope that this doesn't trigger problems for you. 
Note that this patch should only effect kde3 - the code for kde2 should be 
exactly the same, but that would be worth checking as I ran out of time.

There is still the problem of keyboard navigation in the make output (ie there 
is none anymore, due to there being no focus in the widget). It would be good 
if this could be looked into. This is a problem because it looks as if focus 
might be in the window, and, damnit, I keep modifying my source files by 
typing a return meant for the make output window. End would then also become 
a very useful key as well.

Ok folks, sorry about dumping these on you like this, but I really have to go. 
See you next week.

Happy coding :-)

jbb
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kdevelop.diff
Type: text/x-diff
Size: 4922 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20020324/985568ce/attachment.bin>


More information about the KDevelop-devel mailing list