A few bugfixes, and some muching around with WimpVisualFlags that I did ages...
A few bugfixes, and some muching around with WimpVisualFlags that I did ages ago but hasn't made it into a build yet. Detail: * Deleting icon 0 in a window that had no windows would rotate the contents of word &00000010 by 16 bits. This had the effect of causing lazy task swapping to blow up with an "undefined instruction" error. * Setting the caret to a byte position beyond the end of an icon's text would (a) loop indefinitely if the alphabet is UTF-8, or (b) data abort for any other alphabet. This was due to the code trying to determine the number of characters in the string, and ignoring the terminator; skipcharR would never advance far enough to satisfy the loop in UTF-8, in other alphabets it would advance as far as necessary, leading to the later code to try to step a huge number of characters through the pushfontstring copy of the text, running off the top of the SVC stack (which is mapped out on Tungsten, previously it abutted the system heap, so no ill effects were observed). * Keyboard shortcuts are now correctly positoned when 3D menus are selected. * Corrected spelling of "dialogue" in *WimpVisualFlags help. * Changed *WimpVisualFlags so that no parameters gives RISC OS 3 behaviour, and -All gives default RISC OS 4 behaviour. (Previously, font blending was enabled in both cases, unless explicitly disabled by an additional -NoFontBlending switch.) This required a sense change in the font blending switch: -FontBlending now enables font blending. -NoFontBlending is still accepted without error, but is ineffectual (since the no-options state upon which it acts already has font blending disabled). * Default setting is now as though *WimpVisualFlags -RemoveIconBoxes had been executed. (In practice, this will not be noticeably different from previous Tematic versions, see below.) * The state -RemoveIconBoxes switch was previously assumed always set - now, if it is not specified, you get the old RISC OS 3 behaviour back. Admin: Tested on Tungsten. Version 4.82. Tagged as 'Wimp-4_82'
Showing with 52 additions and 40 deletions