- src: xscreensaver-5.00a13.tar.gz -- do not distribute!
bin: xscreensaver-5.00a13.dmg -- do not distribute!
There is a memory corruption bug in image loading that I have been beating my head against for days, and have so far been unable to track down. If you have a Mac development environment, please help me figure out where it's going wrong...
It probably has something to do with waiting for the result of a pipe, because the problem goes away if the "#if 0" is changed to "#if 1" in grabclient.c: osx_load_image_file_async() to make all images load synchronously instead of asynchronously. Perhaps this implicates jwxyz-timers.m, though I've stared at that code quite a bit.
Other things that I'm still stuck on, and that I still haven't gotten any happy LazyWeb action on:
Why do none of my .saver bundles show up with a custom icon in the Finder, even though CFBundleIconFile=XScreenSaver in Contents/Info.plist, and Contents/Resources/XScreenSaver.icns exists?
Why is this getting logged every time you hit OK in the preferences dialog:
"SaverTester: ScreenSaverDefaults does not respond to volatileDomainForName:"
If you delete all the text in a preferences text field (e.g., in sonar), this happens after hitting OK:
NSRunLoop ignoring exception '-[NSCFDictionary setObject:forKey:]: attempt to insert nil value' that raised during posting of delayed perform with target 3d9ea0 and selector 'invokeWithTarget:'
Assertion failures seem to result in the program just hanging (in the event loop, with the screen perma-blanked). How do I make them cause the program to exit instead?
The image-generation preferences aren't displaying quite right; the radio-buttons don't come up selected by default, and the labels are wrong. Basically, I can't figure out how to use NSMatrix properly. (Code is in OSX/XScreenSaverConfigSheet.m: make_text_controls().)
The "Text File", "URL", and "Choose Random Image" fields in preferences should probably be spin-boxes that remember all previous entries into those fields in any of the screen savers. I don't know how to do either part of that.
When the "Image Directory" preference is long, the field displays the first part of the string; it should scroll to display the last part instead. I tried a few things, but I can't figure out how to do that.