1. 26 Nov, 2010 1 commit
    • Jeffrey Lee's avatar
      Make the Wimp automatically switch VFP contexts · b68b72d7
      Jeffrey Lee authored
      Detail:
        s/Wimp, s/Wimp01, s/Wimp02, s/Wimp03, s/Wimp07 - The Wimp now uses the VFPSupport module to switch VFP contexts when performing task switches.
        Each task begins with the null context active (i.e. no VFP/NEON access). When paging out a task the ID of the active context is saved in the Wimp's per-task workspace. This context is then restored when the task is about to be resumed.
        Context save/restore is performed while the right task's memory is paged in, so it's safe to use with contexts located in application space.
      Admin:
        Tested with Iyonix & Beagle ROM builds.
      
      
      Version 5.09. Tagged as 'Wimp-5_09'
      b68b72d7
  2. 14 Mar, 2010 1 commit
    • Jeffrey Lee's avatar
      Fix a few nasty Wimp bugs · 8bfdcfc3
      Jeffrey Lee authored
      Detail:
        s/Wimp05 (setcaretcoords_fancy), s/Wimp07 - Fix some dodgy comments that had trailing backslashes, causing the next line of code to be gobbled by objasm and omitted from the compiled code. The code in question has been around for a long time, so I guess a recent objasm change (or the switch from aasm) has caused the dodgy comments to turn malicious. The setcaretcoords_fancy bug was the cause of bug #241 in the ROOL tracker.
        s/Wimp05 (int_set_caret_position) - While testing the #241 fix, I found that opening the filer 'rename' menu, typing text (enough to cause the icon to scroll), and then clicking away to close the menu would cause an infinite abort loop. The cause seemed to be int_set_caret_position mistakenly setting the caret window ptr to 0 instead of nullptr (-1), which would then cause setwindowptrs to die when it tried dereferencing what it thought was a valid pointer. Although initially confused about how this bug has gone unnoticed so far, I've now realised the abort was just down to alignment exceptions being turned on and the code would have "worked" on <=ARMv5.
      Admin:
        Tested on rev C2 beagleboard.
        Fixes bug #241.
      
      
      Version 5.08. Tagged as 'Wimp-5_08'
      8bfdcfc3
  3. 06 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Make Wimp NoUnaligned-safe · 4cf703e1
      Jeffrey Lee authored
      Detail:
        The "pointer leaving window" code now checks that ptrtask != nullptr before attempting to use it as an offset to the workspace pointer. This is required when alignment exceptions are enabled because nullptr is -1.
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 5.07. Tagged as 'Wimp-5_07'
      4cf703e1
  4. 01 Oct, 2009 1 commit
  5. 15 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build change · ac511301
      Ben Avison authored
      Detail:
        CPU version is no longer specified in the makefile - it's better to inherit
        it from the build environment now that we actually set it appropriately.
      Admin:
        Built and briefly tested. Binary should be unchanged - this only affects
        the warnings generated during assembly.
      
      Version 5.05. Not tagged
      ac511301
  6. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET file pathnames changed · 625526b8
      Ben Avison authored
      Detail:
        Uses suffixed file extensions for compatiblity with both objasm and asasm.
      Admin:
        Supplied by Peter Naulls, tested at ROOL
      
      Version 5.05. Not tagged
      625526b8
  7. 20 Apr, 2009 1 commit
  8. 10 Sep, 2008 3 commits
    • Steve Revill's avatar
      Make colour used for the window outline configurable. · 54c5c7c9
      Steve Revill authored
        Allow the outline to be plotted over the window tools.
      Detail:
        The options available through WimpVisualFlags have been extended with two
        new options that control how the window outline is plotted.
      
        WimpVisualFlags -WindowOutlineColour <&RRGGBB> -WindowOutlineOver
      
        WindowOutlineColour defines the colour to be used for the window outline.
        It allows theme designers to choose a window outline colour that fits
        in with a theme's general colour scheme. Default value is black.
      
        WindowOutlineOver controls if the window outline is plotted over the
        toolicons. It can be used to ensure that there is a window outline
        visible even when the toolicons are borderless. Default value is off.
      Admin:
        Tested on RO 5.11
      Author:
        Fred Graute
      
      Version 5.04. Tagged as 'Wimp-5_04'
      54c5c7c9
    • Steve Revill's avatar
      Allow a different set of window toolicons for the window with the input focus. · 58925e79
      Steve Revill authored
      Detail:
        Previous versions of the Window Manager required toolicons to have pixels
        that were transparent so that the background colour could be used to indicate
        whether a window had input focus or not. This means that new sets of toolicons
        either have to have transparent pixels or lose indication of input focus.
        To remove this limitation the support for toolicons has been extended so
        that a different set of toolicons can be used for the window with the input
        focus.
      
        The new icons have the prefix 'f' added to their names as follows:
          <toolname>    standard version of toolicon
          p<toolname>   pressed version of toolicon
          f<toolname>   focus version of toolicon
          pf<toolname>  pressed+focus version of toolicon
      
        Code has been added to ensure that all toolicons are represented.
        This is done in two stages; first the pressed icons are checked and for any
        missing its non-pressed equivalent will be filled in. Next the focus icons
        are checked and for missing ones its non-focus equivalent will be used.
      Admin:
        Tested on Iyonix RO5.11
      Author:
        Fred Graute
      
      Version 5.03. Tagged as 'Wimp-5_03'
      58925e79
    • Steve Revill's avatar
      Fixed misalignment of WimpWriteDir code. · 320528b2
      Steve Revill authored
        Fixed corruption of table with characters to be mapped to WimpSymbol.
      Detail:
        There was an ALIGN statement missing just above the code for WimpWriteDir
      
        The table used to map characters to the WimpSymbol font had become corrupted
        which prevented the mapping from working correctly. This resulted in keyboard
        shortcuts disappearing in menus when using fonts that don't have definitions
        for the required characters, in particular the up-arrow representing shift.
      Admin:
        Tested on RO 5.11
      Author:
        Fred Graute
      
      Version 5.02. Tagged as 'Wimp-5_02'
      320528b2
  9. 12 Jul, 2008 1 commit
    • Ben Avison's avatar
      Fixed potentially fatal bug in Watchdog. · dac31a6e
      Ben Avison authored
      Detail:
        Unnecessarily complex code in Watchdog for killing tasks other than the
        currently active task ended up corrupting the environment handlers for
        the current task.
      Admin:
        Fixes the test case of running a BASIC program consisting of
          REPEAT UNTIL FALSE
        which previously caused random errors or complete crashes if you ran it
        and then Al-Breaked and tried to kill a different task.
      
      Version 5.01. Tagged as 'Wimp-5_01'
      dac31a6e
  10. 16 Oct, 2007 1 commit
  11. 07 Oct, 2007 1 commit
  12. 23 Feb, 2006 1 commit
  13. 22 Feb, 2006 1 commit
  14. 17 Jan, 2006 1 commit
    • John Ballance's avatar
      tidy fixes in Wimp09 . · d8fd38fa
      John Ballance authored
      Detail:
      	tidied up logic of wimp_addmessages memory salvage
      Admin:
      	(this is a file that built!)
      
      Version 4.99. Tagged as 'Wimp-4_99'
      d8fd38fa
  15. 11 Jan, 2006 1 commit
    • Steve Revill's avatar
      Fixed so it builds. · 58d1da97
      Steve Revill authored
      Detail:
        s.Wimp09 contained a stray line saying "block count" which surprisingly
        didn't assemble. Removed.
      Admin:
        Builds. Haven't tested whether it performs to spec yet.
      
      Version 4.98. Tagged as 'Wimp-4_98'
      58d1da97
  16. 05 Jan, 2006 2 commits
  17. 11 Sep, 2005 1 commit
    • John Ballance's avatar
      Added a CLRV to ensure V starts clear when using a Wimp_Pollword · 4d670cf4
      John Ballance authored
      Detail:
      	usergroup had identified a Hi bit set (32bit) issue with
      	PollWords that existed in a hi bit set DA. There is evidence of
      	previous work to avoid this, but a hi bit set pollword address
      	could leave a V set condition floating around. Added CLRV to ensure it
      	was cleared.
      Admin:  tested in ROM at castle.. passes test from user that previously
      	failed.  Castle added IP
      
      
      Version 4.95. Tagged as 'Wimp-4_95'
      4d670cf4
  18. 26 Apr, 2005 1 commit
  19. 17 Jan, 2005 1 commit
  20. 12 Nov, 2004 1 commit
    • Ben Avison's avatar
      BBE tidying. · b0f00a87
      Ben Avison authored
      Detail:
        Now exports VersionNum to the BBE.
      Admin:
        Tested in a Tungsten BBE build.
      
      Retagged, since this won't affect any existing builds.
      b0f00a87
  21. 12 Aug, 2004 1 commit
  22. 05 Jul, 2004 1 commit
    • Ben Avison's avatar
      Changes from Kevin: · 4c0db650
      Ben Avison authored
      * New options file for STB
      * Changed some ADRs to ADRLs so that they reach for the options combination
        for STB
      
      Version 4.92. Tagged as 'Wimp-4_92'
      4c0db650
  23. 03 Dec, 2003 1 commit
  24. 22 Apr, 2003 1 commit
  25. 31 Mar, 2003 1 commit
  26. 28 Feb, 2003 2 commits
  27. 04 Feb, 2003 1 commit
  28. 24 Jan, 2003 1 commit
  29. 23 Jan, 2003 1 commit
    • Ben Avison's avatar
      Bugfixes. · d8fd0994
      Ben Avison authored
      Detail:
        * All tasks have erroneously been flagged as receiving all messages since
          version 4.78. Correct behaviour is now restored, and the previous
          fix (to ignore Wimp_AddMessages calls for tasks that already wanted
          all messages) should be unaffected.
        * Check for "P"-validation icon creation under the pointer was broken
          in three ways, now works.
        * The optimisation of multiple Message_SlotSize calls is overenthusiastic,
          and can lead to some messages being lost if the slot size is changed
          (including as a side-effect of OS_ChangeDynamicArea) during
          high-priority pollword-nonzero handlers or message handlers for
          Message_SlotSize - in both situations, a message block that may have
          already been delivered to some tasks is still present at the head of
          the message list. Now, the optimisation always ignores the message at
          the head of the message list.
      Admin:
        Tested on Tungsten.
      
      Version 4.86. Tagged as 'Wimp-4_86'
      d8fd0994
  30. 20 Jan, 2003 1 commit
  31. 17 Jan, 2003 1 commit
    • Ben Avison's avatar
      Menu bugfixes and sprite variation support. · 3ed6d938
      Ben Avison authored
      Detail:
        * Adjust clicking on menu items was leading to Message_MenusDeleted being
          broadcast, resulting in incorrect behaviour in many applications.
        * Sprite-only menu items (eg !Draw's line pattern submenu) now highlight
          correctly when tiled menus are configured.
        * Added Wimp_Extend 13, which works out the appropriate resolution suffix
          for a given sprite pathname - required since Sprites11 support needs
          an iterative approach. This supercedes Wimp_ReadSysInfo 2.
        * *IconSprites now tries prefixing the last element of its path argument
          with "<Wimp$IconTheme>".
      Admin:
        Tested on Tungsten.
      
      Version 4.85. Tagged as 'Wimp-4_85'
      3ed6d938
  32. 20 Dec, 2002 1 commit
    • Ben Avison's avatar
      Bugfixing, Sprites11 support and stretchy command windows. · 67775716
      Ben Avison authored
      Detail:
        * Bugfix: the contents of the pollword returned in the poll block by
          a PollWordNonZero event, where the pollword was flagged as high
          priority, was rotated by 8 bits due to a internal top-bit-set
          workaround. This no longer happens. (This was causing OmniClient never
          to complete initialisation on my machine.)
        * Extended the alternate resolution icon scheme for RAM/ROM sprites and
          toolsprites to be multi-pass, enabling the use of extra sprite sets for
          weird modes (most notably EX0 EY0 ones). After '23' or '0' suffixes
          (the latter still only applies to toolsprites), the suffix for the
          equivalent polychromatic resolution is tried. After rectangular
          suffixes, the next larger squarer suffix is tried. After '11', '22' is
          tried. Failing all of these, a match is attempted with no suffix.
        * The command window is now scaled and centred to match the current screen
          mode - up to a maximum size of 1280 x 1024 OS units.
        * Fixed the *WimpVisualFlags help strings (again).
        * Fixed 'task2' debugging to know about the structure of the SVC stack on
          32-bit machines.
        * Added support for generation of GPA files.
      Admin:
        Tested on Tungsten.
      
      Version 4.84. Tagged as 'Wimp-4_84'
      67775716
  33. 13 Dec, 2002 1 commit
    • Ben Avison's avatar
      Bugfix and feature. · d17be908
      Ben Avison authored
      Detail:
        * Validation string commands to set the pointer shape were incorrectly
          interpreted if they contained commas to set the active point.
        * Holding down shift when clicking on the back icon will only move the
          window by one position within the window stack.
      Admin:
        Tested on Tungsten.
      
      Version 4.83. Tagged as 'Wimp-4_83'
      d17be908
  34. 05 Dec, 2002 1 commit
    • 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
  35. 28 Nov, 2002 2 commits
    • Ben Avison's avatar
      Messages changes. · 8207a1fd
      Ben Avison authored
      Detail:
        * Removed Acorn/ACORN from keyboard shortcuts.
        * Added Red/RED/Green/GREEN/Blue/BLUE (and an attempt at German
          versions too) to keyboard shortcuts.
        * Capitalised the 'B' in -Fully3DIconBar to hint that it's necessary in
          the short form of the switch to *WimpVisualFlags.
      Admin:
        Not tested.
      
      Version 4.81. Tagged as 'Wimp-4_81'
      8207a1fd
    • Kevin Bracey's avatar
      Fix to Wimp_DeleteIcon stiffing the machine when trying to delete an icon... · 8a71dace
      Kevin Bracey authored
      Fix to Wimp_DeleteIcon stiffing the machine when trying to delete an icon which doesn't yet exist.Now fails gracefully.
      
      Import of another set of awful icons in the Iyonix resources.
      Tweak to the number of CLI parameters accepted by * commands.
      
      Version 4.80. Tagged as 'Wimp-4_80'
      8a71dace