Work continues on putting Haiku in shape for the R1 release. This week I worked mostly on UI fixes to make our apps look a bit better.
- hrev48490: fix last week changes to avoid truncating the translator settings
- hrev48492: fix BOptionPopUp not inheriting the parent background color
- hrev48501, hrev48502 (based once again on a patch from Laurent Chea): use BNotification for the media server restart notification
- hrev48503: fix a layouting problem in BBox where the box title width would not be taken into account to compute the box minimal size (with some help from stippi in understanding how this is supposed to work).
- hrev48511: avoid a crash when adding or removing items from a menu while it is open. This was easily visible in the network preferences with the wifi AP list.
- hrev48522: Better handling of long words in BNotification messages (truncate them instead of drawing a string larger than the window).
- hrev48507: Screenshot preset save directories are writable ones again. It was pointing to a read-only directory since package management was introduced.
Another side of the work is continuing to extract 3rd-party code from the Haiku repository and move it to packages.
- hrev48505, hrev48510: vl-gothic and DejaVu fonts are now packages, making it easier to track which version we use, and making it possible to update them without having to update the whole system.
- hrev48506: replace our "cal" command (a very old version from FreeBSD) with the GNU version, which more correctly handles unicode characters in weekday names.
- hrev48517: use ncurses package and remove the old copy that was used by Haiku built-in apps (Debugger, gdb, ftp, telnet)
I also did some work on fixing cdda again (hrev48512, hrev48513). The cdda filesystem can now be run as an userlandfs module. I did this because I couldn't find the root cause of the crashes there when running it on kernel side, and running it on userland should more easily catch the problems (as there are more debugging tools and more memory protection). However, the cdda code itself didn't crash in this way, and still managed to trigger KDL. This means the problem is not directly in the CDDA code. Either it sends bogus parameters to an ioctl, or it triggers a bug in some other part of the code such as the ATAPI command handler. Unfortunately it is not possible to move those to userland, so this gives me some more hints as to what could be wrong, but no immediate solution. I'll continue investigating this.