I didn’t blog in a long while so I thought I’d dump some notable things I did over the last weeks. It’s probably neither complete nor thorough - you should try it all out to see it for yourself :)

Kate

Lets start small with my Kate contributions. I really concentrate on KDevelop nowadays since Kate works quite well for me and I don’t have many itches to scratch anymore :) So, what did I do these last weeks? Mostly cleanup and performance work, especially regarding MovingRanges which of course is mostly needed for a good experience in the upcoming KDevelop 4.2. With the help of Dominik Haumann I also went through our indentation unit tests and made sure we expect all currently failing test cases, as well as fixing those I could. Now we (finally!) have a passing test suite and get noticed about introduced regressions. Awesome!

KDevelop

Of course I still concentrate my contributions on KDevelop and related plugins. What I find quite interesting is that I’m now for over two months in a “polish-and-bugfixing”-mode, without adding much new features. I think that shows that I’m quite satisfied with the existing features, just not with the way they are integrated. E.g. the Kate performance improvements above were done in order to make “reformat source” not hang the IDE for a couple of seconds anymore, in KDevelop 4.2 it will only be like one second for really big source files. I’ve also tackled our black sheep, the “launch configuration” dialog. I didn’t rewrite it, but I did some polishing and have some more ideas to hopefully get it into a useable state. Oh, I just remember: I also spent some time on the “Snippets” plugin, restructured the editor dialogs a bit and made them use Katepart as well, for syntax highlighting and proper editor features :)

I generally care about small things nowadays, like e.g. that all widgets have a proper tooltip. This is also something where you all could help: If you find a widget in KDevelop master (4.2) that has no tooltip, please notify me! I’ve added those e.g. to the outline and quickopen toolbar widgets among others.

And since KDevelop 4.1 was in beta stage I’ve fixed lots of bugs and continue to do that. I triage each new bug for KDevelop/KDevplatform, request feedback and valgrind logs and try to fix whatever I can. Even now I can safely assume that KDevelop 4.2 will be more stable than 4.1, even though we did lots of architectural changes in the platform, esp. regarding MovingRanges.

And now to the last and to me most pleasing part: New features! Remember how I said I didn’t do lots of feature development at all these past days? This is basically true, instead I let others do the work :) We really get more and more patches and merge requests by other people, and I did merge quite some changes already. We have an improved “find in files” plugin now, and the French students are working hard on giving it replace functionality as well! We already merged their improved QtHelp plugin that gives you the ability to integrate arbitrary .qch files into KDevelop, e.g. the KDE Api documentation. They also work on [man integration](, which will be a joy for all STD C / C++ developers.

This is just from the last few weeks, and it’s work done by many new contributors. It’s really very cool to see this happening.

Oh, and I personally worked a bit on the QMake support for KDevelop, I’m not sure whether I will manage to get this into a usable state for KDevelop 4.2, but I already use it at work.

Which brings me to the last part of this blog post, release schedules! I’ll finally release a KDevelop 4.1.1 bug fix version next week, and will make sure that there is a 4.2 release just before / shortly after the KDE 4.6 release in January. The big “issue” there is that KDevelop 4.1 will not work with KDE 4.6+, since there are no SmartRanges in Kate from 4.6 anymore. So a big fat warning to any adventurous tester out there: If you want to try KDE 4.6 betas, remember that you’ll have to get KDevelop master (== 4.2) as well somehow!

This also means that I’ll shortly get translations by the awesome KDE-i18n-Team, so stay tuned for a 0.3 including translations!

Open Suse Buildservice

I’ve also spent quite some time today battling with OBS and can provide at least packages for Fedora, Mandriva and Open Suse now. I’m still waiting for help on the remaining issues and once they are resolved I’ll add the remaining packages.

Changelog

ChangeLog for massif-visualizer v0.2

====================================

* Milian Wolff: set version to 0.2

* Milian Wolff: fix conditional

* Milian Wolff: make kgraphviewer dependency optional

* Milian Wolff: fix FindKGraphViewer.cmake

* Milian Wolff: fix .po name

* Milian Wolff: remove some esoteric cli option for XGETTEXT that does not make

any sense according to Albert

* Milian Wolff: fix: install libs to make sure they can get loaded on OSX e.g.

This is the first release and I would be very happy if more users gave me their feedback. I intend to move to git.kde.org soon in order to leverage the KDE infrastructure (mostly translations, bug tracker, releases)… This also means: There are no translations yet! I also intend to update my OBS repository to provide packages for the first release.

I’m happy to announce the immediate availability of KDevelop 4.1 RC 1. This is a testing release, and any feedback is greatly appreciated. Please send us your feedback either via one of our mailing lists, #kdevelop on freenode or put general bugs and wish request as always to http://bugs.kde.org. We are quite confident that this release is ready for every-day use, and if nothing unplanned happens, we are going to release KDevelop 4.1 in about two weeks.

I have a problem that I could not solve nor find help by my usual paths. I’m speaking about a deadlock on shutdown I get sometimes with what will become KDevelop 4.1. You can find a backtrace in this bug report:

The thing is this: Apparently some global QMutex is getting destroyed by the exit handler but the call to __pthread_cond_destroy does not return.

I have no clue on how to fix this. Is there at least a way to find out which mutex this is? Someone told me to have a look in /proc/PID/maps but there I only found out that - what a suprise - ~QMutex is defined in libQtCore.so… Or should I have looked for the this=0xfffffe00 address? Speaking of which - isn’t that address messed up?

I’m happy to announce the immediate availability of KDevelop 4.1 Beta 3. This is a testing release, any feedback is greatly appreciated. But keep in mind that it might exhibit unexpected behavior and eat your children. Please send us your feedback either via one of our mailing lists, #kdevelop on freenode or put general bugs and wish request as always to http://bugs.kde.org.

I was on a spontaneous trip last week and missed the Beta 2 release. Apol took over but my instructions where not clear enough and the packages where totally screwed up (the tags pointed to code in master, no the 4.1 branch).

I’m in the process of fixing things up and will create tarballs for Beta 3 and announce it to packagers later today.

Lets hope the actual release for users out there can happen later this week.

Yeah, I couldn’t sleep well after I put colors on Dr Konqi. I also did the same for Kate, if you did not notice it. There is a new GDB Backtrace syntax highlighting file for it, giving you the same pleasant experience you are now used to from Dr Konqi. Awesome.

But well, lets admit it: What use are these two for bug triaging? Visit any crash report on bko and you are left to plain old black-on-white… Stone-age stuff, lets put it on LSD, shall we not? I propose: The GDB Backtrace highlighter GreaseMonkey userscript!

please don’t use KDevelop master with KDELibs 4.5.1 or lower. Katepart in that version misses a crucial commit that makes KDevelop crash. It is fixed for 4.5.2. In the meantime you have on of the following options: