-------------------- AmigaOS 3.5/3.9 project ------------------------- text 44.1 (13.3.1999) - The text colours are now translated for printer output. Foreground colour #1 now maps to ANSI colour #9 (= default foreground colour). Likewise, background colour #0 now maps to ANSI colour #9 (= default background colour). This specifically avoids printing red text. Other colours are not translated. It might be a good idea to do this, though. - Text output is now optimized to write only to the bit planes required for proper display. Unlike the older versions, the bit plane mask this optimization depends upon is recalculated after every layout process. text 44.2 (14.3.1999) - Text style and colour attributes are no longer reset and reprinted for every line to go to the printer. The code now sends the attribute changes only when necessary. text 44.3 (14.3.1999) - Printing code shouldn't assume that it has to set the font colour and style attribute when it starts. It no longer does now. text 44.4 (17.3.1999) - No longer allocates a TmpRas without checking for memory allocation failure. No longer allocates a TmpRas that may turn out too narrow. No longer allocates or uses a TmpRas at all, in fact. text 44.5 (17.3.1999) - The dispatcher no longer uses inline code for rendering and printing as this would apparently lead to bad code being generated by the compiler. - Diked out the unused highlighting code. text 44.7 (19.5.1999) - Restored most of the old code. This datatype is too weird to work with... text 44.10 (29.11.1999) - The code didn't properly cache SysBase, leading to a slowdown. Fixed. text 44.13 (11.6.2000) - The main dispatcher routine could apparently crash input.device due to too many local data being pushed onto the stack. Chopping the long dispatcher routine into single functions appears to have fixed the problem. Credit goes to Thomas Richter for finding the problem and providing for a remedy. text 44.18 (11.6.2000) - Added automatic stack size extension, just to be on the safe side. text.datatype 44.20 (11.6.2000) - Fixed a bug in the library close code, which would have led to a semaphore being held and released even until after the memory allocated for the semaphore had already been deallocated. - To keep things nice and tidy, also made sure that the library expunge code works well with Kickstart 2.04 and below. text.datatype 45.1 (31.10.00) - completely rewritten - now supports marking - now supports searching. To open the requester press 'Return'. To search forward press 'Tab' and to search backwards press the 'Shift Tab' keys. text.datatype 45.2 (04.11.00) - had problems with CR+LF text files. Fixed. - fixed marking problems - bottom line wasn't erased when scrolled. - uses now a slightly different library initialisation code great thanks to Olaf and Thor - auto copy, thanks to Allan for the framework - search can now be case sensitive text.datatype 45.3 (05.11.00) - the right of a line wasn't erased. Fixed. text.datatype 45.4 (10.11.00) - it was always the first line displayed at start. Fixed. text.datatype 45.5 (17.11.00) - the last line at a end of a text wasn't erased. Fixed. text.datatype 45.6 (18.11.00) - when pressing tab in the search requester the string gadget gets only deactivated, so the other option can be reached with keyboard only text.datatype 45.7 (23.11.00) - there was still a last line problem... -------------------- AmigaOS 3.1.4.(1) project ----------------------- text.datatype 45.1 (14.7.2018) - In case the init function could not open all libraries, it forgot to close them again. - In case the init function failed, the text.database library was not released and hence leaked memory. text.datatype 45.2 (16.9.2018) - Similar to all other datatypes, there was another race in LIB_open() and LIB_Close(). ------------------------ AmigaOS 3.2 project ------------------------- text.datatype 47.1 (31.8.2019) - This is a backport of the OS 4.x text datatype, with a couple of fixes: - The search window had a couple of race conditions, most notably did it access the text data private structures without attempting to lock them. Two parallel searches could have created chaos. Also, two search windows could have been created simultaneously. - The search window handling was improved: It now stays open and allows interactive search. - Copy to clipboard was backported from the textclip.library (not existing in 3.2) text.datatype 47.4 (2.10.2019) - In case damage was accumulated during scrolling, the text datatype did not refresh the damaged region and left the damage in the layer damage list without refreshing. - The search window was made somewhat wider, leaving more room for localization. text.datatype 47.5 (23.10.2019) - Damage handling was still not good and ended a BeginRefresh(), even though it should not. text.datatype 47.6 (01.11.2019) - Aligned some gadgets of the search window. text.datatype 47.7 (07.11.2019) - Realigned all gadgets of the search window, now should scale with all fonts. - Allowed 7 pixel wide fonts to scale window down a bit for lower end systems. - Fixed problem with fallback to topaz font when gui window was too small. text.datatype 47.8 (19.11.2019) - Fixed a wrong return code of LibExpunge() which could have crashed the system in case the system went low on memory and had to remove the text.datatype from memory. text.datatype 47.11 (01.08.2020) - DTM_PRINT was not receiving the correct error codes after printing regardless of success or failure. It always returned "CANCEL". Fixed. text.datatype 47.12 (31.1.2021) - Now only removes the layer damage that is actually repaired, without clearing the whole damage list and the LAYERREFRESH flag. Doing so would make a text.datatype object write over window borders if its GM_RENDER method was invoked after that area was damaged, but before the window's owner could properly refresh it (bug #1218). This happened, for example, with text.datatype instances embedded in an AmigaGuide document. text.datatype 47.13 (4.3.2021) - Dont' do find next/prev unless it is the exact request made. This should prevent it searching for text if you press space