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 Architecture: m68k-amigaos 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 | where is the file you want to judge and 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