I've been picking something in Plasma to concentrate on each week since the freeze. This last week it was the new tasks widget and libtaskmanager. chrigi, who did much of the work for grouping and sorting in libtaskmanager, and Marco both pitched in and together we re-worked the tasks widget o that the code is a lot clearer internally in the tasks widget itself. Such pre-release bit rot is pretty common when one component, in this case libtaskmanager, gets a heavy reworking; often components that depend on it are kept in a basically building and functioning state during the worst of the chaos. Sometimes it works out really smoothly, but not always. In the case of porting the tasks widget from 4.1 to chrigi's work in libtaskmanager, it needed some love.
This was clear when I went to fix some bugs reported from beta 1 only to find it very hard to do so due to the fragility of the code. It was essentially working, but needed some clean up and general code quality lovin'. As usual, the Plasma team stepped up and things, while probably not perfect (things never are ;), is a lot nicer. Performance is up, crashes are fewer .. and now we can go about rooting out remaining bugs and problems with a lot less headache.
It was impressive to see in some cases how entire sets of methods from the widget could be removed with chrigi's new work in libtaskmanager. He removed, for instance, all management of startup tasks as being somehow different from regular tasks in the widget: all of that is now handled in the library, making the widget itself simpler. Loverly.
Work remains to be done, but it's getting there nicely. This coming week I'll be shifting my focus to multi-screen issues. In theory, with Kephal (the fancy dancy screen management framework in 4.2) we should be able to nail the remaining beasties 4.1 had in these situations. Dual head will still likely suck to some degree (Plasma's fault, not Kephal), but I want to work on getting xinerama style setups and hot plug monitors working flawlessly.
The multiscreen bug fixing work probably won't land in time for beta2, unfortunately, but we now have enough people running trunk with multiple screens that that shouldn't matter too much.
Thanks for all the bugs reported on multiscreen issues, it will be our roadmap for what to concentrate on this week. =)