well, i'm off to bed. it's 23:18 and i'm pretty tired. need to be up at 07:00 to get the p-man off to school.
after fixing backgroud painting (which is now in DesktopContaiment as it should be, thanks to some refactoring by Sean Harmer) on zoom and trying to fix more xinerama issues (Cedric continues to whack away at them as well), i looked into why the applet config was no longer getting saved.
i was getting a "KConfigGroup::writeEntry: unhandled type" on exit. i'd noticed this for a few days but thought, "hm. the last round of KConfig refactoring must've broken something..." but i didn't expect that it was simply not writing anything at all out. looking at the code i saw that there was a kFatal() call in there which meant that not only was it giving me that error ... it was prematurely exiting the app. since i wasn't expecting any further output at that point anyways, it just looked like the app exited normally. nope!
topping it off, the message didn't tell me what type of object was "unhandled" or in what config group it was failing. so i added some more useful information to the debug message and quickly spotted where the issue was:
turns out KConfigGroup no longer saved QRectF, QSizeF or QPointF. whoops. better yet, kconfiggroup.cpp didn't even compile anymore in trunk/, which was just plain neat-o. so i went and fixed the compile, added QRectF and QSizeF (Braxton beat me to QPointF) and everything went peachy from there.
now i'm back to having a panel which doesn't load applets with the correct geometries that were saved (but hey, at least they are being saved again ;). i believe this is due to using Plasma::BoxLayout for something it really isn't designed for. we need something halfway between FreeLayout and BoxLayout, so tomorrow i begin work on such a thing: Plasma::PanelLayout.
but right now at this very moment in time ... i trundle off to bed.