Short: New datatypes.library, V45.4
Author: GISBURN@w-specht.rhein-ruhr.de (Roland Mainz)
Uploader: GISBURN w-specht rhein-ruhr de (Roland Mainz)
New "datatypes.library", V45.4.
---- NOTE ----
This archive is only a a quickly build archive to get something working for the
"Computer 97'" fair in Colone/Germany. The main archive follows (or V45.5)
---- NOTE ----
This project replaces the old datatypes.library V40.6 from CBM.
NOTE: This is a "Preview"-Release, many things (like the example code) are currently unter construction
(except the library itself; it's finished).
Changes since V45.3:
- Recompiled with SAS/C 6.58.
This may fix mc68060 related problems (I was searching for this
mc68060 incompatibility a long time :-(( ).
- Fixed a bug in LaunchToolA that the given strings were not
freed on some conditions.
- Fixed a bug (race condition) in RemoveDTObject that
DTM_REMOVEDTOBJECT was executed BEFORE internal RemoveGadget.
Now DTM_REMOVEDTOBJECT is correctly executed AFTER RemoveGadget.
- Internal Delay's (when waiting for flags in RemoveDTObject and
have been reduced from 1/2 sec down to 1/5 sec.
- StartDragSelect now sets Result2 (IoErr()) with valid return
- All library calls to datatypes.library are now going througth
the LVO explicitly.
- ObtainDataTypeA has been rewritten to get more speed.
This fixes also some bugs, see below.
- ObtainDataTypeA: Fixed the bug that a 0 in the comparisation mask
was treated as an empty mask field.
Now the 0 is correctly recognized.
This fixes the bug with the QRT descriptor and some other formats.
- ObtainDataTypeA: Endless loop in conjunction with "PostScript"
descriptors and "DTDescrList". Problem was that the code to get
the next node from a given node didn't expect that two nodes
have the same name.
- ObtainDataTypeA: Fixed the memory loss of n * 40 bytes (e.g.
loss of a iffparse.library IFFHandle).
Thanks to Oliver Robers (email@example.com) for reporting the bug.
- ObtainDataTypeA: Fixed a bug that an custom compatisation hook
(e.g. the DTCD code in a descriptor) for IFF forats gets an
IFFHandle and a file handle. Now only the IFFHandle is given, the
file handle is NULL (because iffparse.library manages the file
- ObtainDataTypeA: The clipboard did not work with masks longer
than 64 bytes.
- Increased the stack size of the async layout process from 8192
up to 16384 bytes. Should be __really__ enougth now.
- Changed the behaviour of DoAsyncLayout:
Previously, the DTSIF_LAYOUT flag was used to indicate that a
layout process is running.
Now the DTA_LayoutProc attribute is always checked.
The "normal" Forbid / Permit protection of async layout process
creation / signalling / deletion has been replaced by an
internal datatypes.library semaphore.
- Increased the stack size of the printer process. Should be
__really__ enougth now.
- Fully backwards compatible: The datatypes.library V45 has the same interface as V40/V39,
old applications won't have problems with this update.
- Speed. The new datatypes.library is a little bit faster than the original. On request,
a 020-version wouuld be possible.
- Bug-Fixes: datatypes.library V45 fixes all bugs I knew about the datatypes.library V40.6.
- Extended interface:
The new datatypes.library introduces new features in the datatypes system:
- Tools: You can define a set of tools for each datatype.
A DT browser like "GMultiView" is able to present the list of tools in a
menu/dock/etc., and is able to launch them.
For example, you're viewing a C source, you're able to launch CED from the
- Image: The datatypes.library V45 includes the docs how to handle a datatype
like an image within applications and/or other subclasses.
- Descriptor list: Applications are now able to access the datatypes global descriptor
list in a system-friedly way.
- AREXX interface: A backwards-compatible and extended interface
Many other features have been added to make things using datatypes easier.
Following was cut from an aminet "weekly-uploads" mail:
| Please rate all the programs you
| download. To do so, send to firstname.lastname@example.org :
| RATE <path> <num>
| where <path> is the file you want to judge and <num> is a mark from 0..10
| with 10 being the best. You can rate several programs in one mail, but
| don't rate your own programs. Example: RATE dev/gui/mui23usr.lha 8