• Ben Avison's avatar
    A few bugfixes, and some muching around with WimpVisualFlags that I did ages... · d2f6d63a
    Ben Avison authored
    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'
    d2f6d63a