&xwp; 0.9.20 (August 11, 2002)
New features:
- Documented XWPString setup strings. Added XWPString NOSTRINGPAGE setup string.
Added XFldDesktop SHOWHELPPANEL setup string.
- Giant WPS help rework. &xwp; can now replace most default WPS help
panels. This can be disabled on the "Features" page in XWPSetup.
- Extended associations: Added icon sharing. If the icon of a program object
is changed, all data files using that object's icon are finally properly refreshed.
The feature is enabled automatically with extended associations and works only
with them, unfortunately.
To quote Achim Hasenmller: "I've been waiting for that functionality since OS/2 2.0 beta.".
- Extended associations: Added a new setting to "File types" page that allows
you to disable passing the object handle of a data file to the environment of the
associated program.
- File operations: Added replacement "Paste" dialog (from "Edit" menu) because
I finally got sick of the default WPS one. The replacement can be enabled
on the "Features" page as well.
- Folders: Added lazy icon loading for folder populate, which makes folders
show icons much more quickly initially and loads the real object icons asynchronously
on a separate thread. This can be enabled in "Workplace Shell", "Folder Views" page
and should work even if turbo folders or extended associations are disabled.
- &xcenter;: Window list widget has a "Filter" menu item in the button context
menu now for quicker filtering.
- &pgr;: Selecting "Properties" from the pager context menu opens the "&pgr;"
page in the "Screen" object directly now.
- &pgr;: Shift + MB2 click on an empty area in the pager hides the pager
immediately now.
Miscellaneous changes:
- Common: &xwp; no longer holds all messages from the TMF file in memory,
reducing memory usage.
- Common: Greatly optimized nlsUpper, my helper func for upper-casing a string
that gets called from nearly everywhere.
- Common: Optimized a lot of internal management routines to use less memory
and no longer use the &xwp; heap by moving linked list pointers into object instance
memory. Awake objects management is no longer done by the Worker thread either.
- Common: Optimized my object destruction mechanism to no longer use SOM name
lookup method resolution, since I found a way to handle undocumented WPS methods better.
- Common: Rewrote the &xwp; "Product info" dialog as a testcase for linking
from my rich text control.
- File operations: Reworked replacement "File exists" dialog.
- Replacement refresh: Tweaked thread priorities a bit to catch more file-system
notifications.
- Turbo folders: Tweaked thread priorities a bit to work better on uni-processor
systems.
- Trash can: Is now smart enough to use DosForceDelete in order not to
move all files to DELDIR (if enabled) on emptying the trash can.
- &xcenter;: Reworked all widget context menus to make them more accessible.
- &xshutdown;: On "Restart Desktop", if "close all sessions" is off, pager
recovers only WPS windows to current screen, while others keep running on their
own screens.
Bugfixes:
- Install: Fixed several problems with installation objects.
- Common: Replaced all strchr and strrchr calls in XWorkplace with a DBCS-enabled
version, of which I do not know whether it actually works. I'd be grateful if Asian
testers could check whether the bugs that have been reported are fixed by this since,
again, I have no way of testing DBCS here.
- Common: Replaced most wpQueryDefaultHelp overrides with wpclsQueryDefaultHelp
overrides for changing a class's default help. The previous implementation broke
instance help assigned via HELPLIBRARY and HELPPANEL.
- Common: Fixed rare synchronization problems when objects were renamed and
views sometimes not updated properly.
- Common: Fixed a nasty object ID problem that would cause CHECKINI to report
lots of bad object IDs when objects were created from the "Create new" folder menu.
- Common: Fixed a problem during object deletion that could cause the object to
re-add information to the INI files. This was probably the cause for CHECKINI to
report abstract objects that had been deleted by &xwp;.
- Common: All &xwp; message boxes were lacking the top-right "Close" button. Fixed.
- "Icon" page replacement: Fixed excessive rename when page was first opened.
- Program objects: Command line icons were broken (in "Command Prompts" folder),
and batch files and Win-OS/2 full screen objects didn't work at all. Fixed.
- File operations: Replacement "File exists" dialog never respected the
auto-rename or auto-replace settings on the "Title" page in "Workplace Shell". Fixed.
- Folders: Hotkey for "Select by name" (per default, Ctrl+S) broke with V0.9.19.
Fixed.
- Folders: "Batch rename" dialog had problems enabling the start rename button.
Fixed.
- Folders: Folder hotkey descriptions were either wrong or missing in the items
in the menu bar pulldowns. Fixed, hopefully.
- Extended associations: Got rid of the internal types cache that ate up lots
of memory and had synchronization problems anyway, leading to wrong associations
sometimes. Extended assocs are thus slightly slower now when folders are populated,
but it's barely noticeable.
- Extended associations: Fixed a bug in my object handles cache where sometimes
the wrong object got thrown out of the cache.
- Turbo folders: Plugged a few more holes where the WPS succeeded in destroying
object icons that were assigned by &xwp;, leading to blank icons.
- Replacement refresh: Fixed a system deadlock in the rare situation that an
object was made awake from the refresh thread that had an association icon that
was not previously used and thus had to be loaded first.
- Trash can: Had serialization problems when several views were populated
at the same time. Fixed.
- Trash can: Failed on deleting FTP folders. Fixed.
- Trash can / replacement delete: Plugged another hole where the WPS kept
producing file-system handles for objects just before deleting them. The handles
stayed in OS2SYS.INI forever, of course.
This was especially expensive when a folder with many subfolders was deleted.
- Fonts folder: Reported "already installed" when installing fonts if a font
was previously deinstalled without rebooting the system. Fixed.
- Fonts folder: Status bar forgot how to count fonts right when
installing/deinstalling fonts. Fixed.
- Fonts folder: Had serialization problems when several views were populated
at the same time. Fixed.
- Setup string objects: If the default object stored in the setup string
object could not be resolved from handle, double-clicking on the setup string
object crashed &xwp;. Fixed.
- Sound object: Sound scheme testing was case-sensitive, while sound schemes
in OS2SYS.INI are case-insensitive. Fixed.
- Screen object: Special functions on screen border objects page had funny
titles, fixed.
- &xcenter;: Diskfree (WarpCenter style) would never save its width, fixed.
- &xshutdown;: Partitions listed on the "Partitions" button in the user
reboot actions dialog were truncated to 8 characters, but LVM allows 20. Fixed.
- Hook: Fixed raise window on MB1 clicks in certain situations. Also fixed
a couple items with Mozilla menus. (Martin Lafaix)
- &pgr;: Fixed a couple of traps when the hook was disabled manually.
(Paul Ratcliffe)
- &pgr;: Removed silly "Pager is disabled" message from "Add sticky window"
dialog.
- &pgr;: Stay on top would never work, fixed.
- &pgr;: If "Show secondary windows" was on, you couldn't click on them
in the pager. Not sure when this broke or if this was even broken in 0.9.19,
but it works now.
- &pgr;: While Embellish was running, pager would stop switching. Fixed.