&xwp; 0.9.1 (February 18, 2000)
First &xwp; public release.
New features:
- Added object setup string decoding to the "Object" page of every object's
settings notebook.
- Added container view flags to "Object" page details.
- New hook features on "Mouse mappings" page 2:
mouse-button-3 scrolling, auto-hide mouse pointers, and more.
- Added "Show Desktop's context menu" to special functions with screen corner objects.
- Added "Enable NumLock on Startup" feature.
- Added "Drives" page to trash can's settings notebook for individual
drives support.
- Added second "File" page to file-system objects to display all extended attributes.
- "WPS Class List" is now multithreaded to some extent.
- Trash can "delete" support is finally working! Full drag'n'drop support also.
- Implemented proper trash can drives support.
- Created generic file operations framework which can process file operations
on the File thread (in order not to block the user interface). This is now used for
"move to trash can", "restore from trash can", "destroy trash objects",
"empty trash can" -- all multithreaded and with progress bars.
- "Cannot close VIO window" dialog in &xshutdown; has been reworked to store
the selection with the auto-close items list while &xshutdown; is running.
- Treesize displays the number of files per directory and can sort according to that now too.
- NetscDDE is now prepared for National Language Support too.
- Added some SOM kernel classes to "WPS Class List" descriptions.
Miscellaneous changes:
- Updated messages for the XFLDTRAP.LOG exception log file.
- Folder content menus are finally limited so that the menu is not
built for several thousand files.
- System sounds are now automatically installed when the respective flag
on the XWPSetup "Features" page is checked.
- Added NLS to various parts of &xwp; where it was missing.
- Reorganized WPS Class List code again.
- Took the time to work on exception handling once more. Made the entire mechanism
more bomb-proof.
Bugfixes:
- After closing a subdialog of a notebook page, the WPS would sometimes hang.
Now all subdialogs are owned by the frame instead of the page, which should fix this,
even though I still don't understand what's going here.
- Replaced all DosRequestMutexSem calls with WinRequestMutexSem calls.
- "Open parent" (Backspace) would crash the WPS when used in a drive (root folder)
window. Fixed.
- "Open parent and close" (Shift+Backspace per default) invoked on the Desktop
would close the Desktop. Not such a good idea. Fixed.
- "Select by name" was added for Tree views also, which didn't make sense. Fixed.
- WinDestroyWindow was never called on "Select by name" windows. Fixed.
- Status bars were added to folders even though the feature was disabled
in "Workplace Shell". Fixed.
- Right-clicking on a status bar would produce the folder's context menu, but when
changing to a different submenu, the main menu would disappear and the new submenu would
appear just anywhere on the screen. I finally figured out how to call wpDisplayMenu
correctly, so this is fixed now.
- Forgot "Work area" setting on "File" page with folders. Fixed.
- Fixed a number of small memory leaks with shaped windows, notebook page management,
progress bars, WPS class list, split window controls, "OS/2 Kernel" object.
- Sometimes invoking settings strings on folders (esp. "ALWAYSSORT") would work
initially, but not be saved to the extended attributes of the folder. Fixed. Er, this must
have been in XFolder forever.
- Replacement "File exists" dialog would sometimes hang the WPS if a large number
of files was processed. Fixed; now using folder mutex semaphores for thread safety.
- Trash can kept crashing the WPS in some background thread a few seconds after
the last trash object was destroyed. This happened because the WPS unloaded the
XWPTrashObject class if no more objects of that class existed. Fixed, but that one was
tricky.
- Trash objects had "Create another" menu item, which doesn't make sense. Removed.
- Fixed trash can populate/refresh mechanism. This is now faster and doesn't crash
all the time (famous last words).
- Fixed heap errors with text message file (TMF) handling, which caused sporadic,
non-reproduceable crashes. Also, the TMF got recompiled every single time; fixed that
also.
- Loading and unloading the &xwp; hook via XWPSetup didn't work.
Fixed hookInit and hookKill (xwphook.c).
- Fixed &xshutdown; thread synchronization problems introduced with V0.9.0.
- The new &xshutdown; confirmation introduced with V0.9.0 wasn't always working right. Fixed.