[WASTE-list] [ANN] WASTE 3.0.2 now available

Marco Piovanelli marco.piovanelli at pobox.com
Thu May 10 11:15:43 EDT 2007


Hi all,

WASTE 3.0.2 is now available for download at:

<http://www.ovolab.com/technologies/waste/WASTE-sdk-302.dmg>

This release fixes a number of bugs that were discovered in the
last few months, and adds a number of features.


NEW FEATURES:
=============

* Added support for the Pasteboard Manager. WASTE will
now use Pasteboard Manager APIs internally for most
cut and paste operations, instead of the old Carbon
Scrap Manager APIs. Also, the framework now exports
the following APIs for pasteboard support:

WECopyToPasteboard
WEPasteFromPasteboard
WECanPasteFromPasteboard

* The framework now exports the following new APIs for
spell checking and dictionary lookup purposes. The
prototypes aren't frozen yet, so use with care:

WEGuessSpelling
WEIgnoreSpelling
WELearnSpelling
WELookUpInDictionary

* Added the following HI commands to the list of commands
handled by WASTE:

kHICommandFindNext
kHICommandUseSelectionForFind
kHICommandJumpToSelection
kHICommandLookUpInDictionary


BUG FIXES:
==========

* WEKey() no longers throws a paramErr exception when a Unicode
keyboard is selected.

* The weTagDirection paragraph attribute is now functional.
When no dominant line direction is explicitly set, left-to-right
is assumed.

* In some rare cases, WEGetDestRect() could let a C++ exception
go uncaught, potentially causing the abrupt termination of the
client application.

* WEGetObjectAtOffset) was incorrectly returning an object reference
for offsets equal to, or greater than, the actual text length, if
the document contained an embedded object at the very end of the
document. Thanks to Alfred Van Hoek.

* In the same scenario as the above (embedded object at the very
end of the document), WEFindNextObject() was incorrectly returning
the same object reference over and over, potentially causing the
client to enter an infinite loop. Thanks to Alfred Van Hoek.

* When a C++ exception is thrown (and caught) within the WASTE
framework, WASTE will print a detailed description to stdout,
but only if the environment variable "WASTE_DEBUG" is defined.
Previously, there was no way to turn off these debugging
messages. On Tiger, exception descriptions include strings
obtained from GetMacOSStatusErrorString() and
GetMacOSStatusCommentString().

* Silenced a harmless exception in WE3_ATSULayout::MoveCursor()
noted when using arrow keys in empty documents. Thanks to
Chinh Nguyen.

* When saving a document to an RTFD package, WESave() would fail
unless a "TXT.rtf" file was already present in the bundle.

* The weTagAddFontSize selector wouldn't work with negative font
size deltas -- it would actually *increase* the font size by
12 points. Thanks to Tom Bender.

* WASTE would ignore weTagTransferMode when used as an HI command.

* WEMatchAttributes() now works for the following attribute types,
which were nonfunctional in earlier versions:

weTagBackgroundColor
weTagVerticalShift
weTagDirection
weTagLeftIndent
weTagRightIndent
weTagFirstLineIndent
weTagSpaceBefore
weTagSpaceAfter
weTagLineSpacing

* WEMatchAttributes now returns an error code when passed an unknown
attribute selector. Previously, it will fail silently.

* WEGetObjectOwner() now works for all objects, not just those
inserted using WEInsertObject().

* WEGetObjectFrame() is now functional.

* Vertical shifts had no effect on embedded objects.
Now they do.

* When reading or generating 'SOUP' or 'WEst' scraps on Intel,
WASTE will now call CoreEndianFlipData() to endian-flip the
embedded object data for resource types known to the system,
such as 'snd'.

* The built-in draw handler for 'snd' objects would draw a
garbled icon on Intel machines.


OTHER CHANGES:
==============

* Reviewed the list of flavor types that can be passed to WEStreamRange()
defined in "WASTE.h", adding comments about legacy flavors no longer
recommended in WASTE 3.0, and listing known UTI equivalents.

* WASTE.h now does a better job of listing attribute selectors that
are either obsolete or currently unsupported in version 3.0.

* Removed the last remnants of the FSSpec data type from the code.

* Started reviewing the code for 64-bit cleanliness.



-- marco

--
It's not the data universe only, it's human conversation.
They want to turn it into a one-way flow that they have entirely
monetized. I look at the collective human mind as a kind of
ecosystem. They want to clear cut it. They want to go into the
rainforest of human thought and mow the thing down.



More information about the WASTE-list mailing list