Short:    New datatypes.library, V45.4
Author:   GISBURN@w-specht.rhein-ruhr.de (Roland Mainz)
Uploader: GISBURN@w-specht.rhein-ruhr.de (Roland Mainz)
Type:     util/libs

Requires: util/libs/dtypeslib453.LhA

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:
    V45.4
        - 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.

        - 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
          DisposeDTObject etc.)
          have been reduced from 1/2 sec down to 1/5 sec.

        - StartDragSelect now sets Result2 (IoErr()) with valid return
          codes.

        - 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.
          Fixed.

        - 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.
          Fixed.

        - ObtainDataTypeA: Fixed the memory loss of n * 40 bytes (e.g.
          loss of a iffparse.library IFFHandle).
          Thanks to Oliver Robers (oliver@poboxes.com) for reporting the bug.
          Fixed.

        - 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
          handle).
          Fixed.

        - ObtainDataTypeA: The clipboard did not work with masks longer
          than 64 bytes.
          Fixed.

        - 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.

Features:
- 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
           tools menu.

  - 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.

----

Bye,
Roland

P.S.:
  Following was cut from an aminet "weekly-uploads" mail:
| Please rate all the programs you
| download. To do so, send to aminet-server@wuarchive.wustl.edu :
| 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
