1. 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
  2. 05 Jan, 2006 2 commits
  3. 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
  4. 26 Apr, 2005 1 commit
  5. 12 Aug, 2004 1 commit
  6. 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
  7. 22 Apr, 2003 1 commit
  8. 31 Mar, 2003 1 commit
  9. 28 Feb, 2003 1 commit
  10. 04 Feb, 2003 1 commit
  11. 24 Jan, 2003 1 commit
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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 ...
      d2f6d63a
  17. 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
  18. 31 Oct, 2002 1 commit
    • Ben Avison's avatar
      Bugfixes. · 25c8889b
      Ben Avison authored
      Detail:
        * Message list pointers passed into Wimp_Initialises that didn't follow
          Wimp_StartTask used to be corrupted
        * Stack imbalance in ExitPoll if SWI Portable_Speed didn't preserve flags
        * 32-bit mode test speedups
        * Builds without RO4 option set
      Admin:
        Tested on Tungsten and Risc PC.
      
      Version 4.79. Tagged as 'Wimp-4_79'
      25c8889b
  19. 30 Oct, 2002 1 commit
    • Ben Avison's avatar
      Merged in RISC OS 4.02 changes (including ROM patches). Also som bugfixes. · 3b1e336c
      Ben Avison authored
      Detail:
        RISC OS 4 changes:
        * Font blending for desktop font (based on NC code, but now configurable)
        * 3-D window/menu/iconbar borders
        * Textured menu backgrounds
        * Loss of rubout box in unfilled text+sprite icons
        * *WimpVisualFlags controls various aspects of cosmetic changes above
        * Iconise button "slot" glyph slightly shorter (but only adopted in the RO400
          Resource directory)
        * Command window has front-window flag set
        * Byte at +39 of the window block has gained two new flag bits:
            bit 2 set => this window must never be given a 3D border
            bit 3 set => this window must always be given a 3D border
            (note that ResEd erroneously created windows with both bits set,
            this case is treated as though both bits were clear)
        * Another two colour specifiers on the end of C validation string command
          for icons controls the foreground and background colours to be used when
          the icon is selected
        * Pointer shape is correctly reprogrammed by the creation of icon
          underneath it
        * Full stops in writable icons are treated the same as spaces from the
          point of view of cursor navigation
        * spritesize routine returns a size of 0 if the sprite didn't exist
          (probably fixes some rendering problems)
        * Adjust-click on back icon brings window to front
        My changes:
        * DeleteRight turned on
        * Icon bar title background is set to default in all resource sets (avoids
          translation table recalc)
        * Error box title now cream across all resource sets
        * RISC OS 4 changes made 32-bit compatible / high addresses safe
        * Undocumented FullIconClipping option disabled
        * Command help made consistent for internationalised and non-
          internationalised builds
        * WimpVisualFlags defaults made sensible
        * Menu side width affected by ThreeD option at *run* time not assemble time
        * Right-clicking on menus with writable items no longer data aborts
        * Auto-opened menus are now at RHS of current icon (matches RISC OS 3.1)
        * Colour menus were knackered unless menu tiling was enabled
        * Fixed a bug whereby adding messages to a task that wanted all messages
          actually caused it to lose all other messages. The RISC OS 4 fix for
          this didn't work
        * Fixed bug introduced in version 4.76: tasks that wanted no messages got
          all of them
        * Autoscrolling is updated every 8 cs rather than every 12 cs
        * Added menu texture to pre-RISC OS 4 sprites files
      Admin:
        Tested on Tungsten.
      
      Version 4.78. Tagged as 'Wimp-4_78'
      3b1e336c
  20. 25 Oct, 2002 1 commit
    • Ben Avison's avatar
      Memory-related stuff. · d085c3c9
      Ben Avison authored
      Detail:
        * Default UpCall handler is installed when an application is paged out,
          so there is no danger of it being called by naughty people issuing
          UpCalls in the background.
        * AMBControl builds now sit on Service_MemoryMoved so that they can issue
          Message_SlotSize when the kernel has resized the application slot
          independently (eg because the memory was needed to grow a dynamic area,
          and nobody objected via Service_Memory or UpCall_MovingMemory).
        * Medusa-onwards builds no longer request Service_ValidateAddress, because
          we're not managing the free pool any more, and the code that was here
          only called an ineffectual SWI!
        * SafeChangeDynamic wasn't setting the CAO high enough to be free of big
          application slots; now it points it at itself.
        * The free pool wasn't being shrunk/grown enough on initfirsttask /
          closelast. It still can't do by more than 1GB without stiffing - bug in
          kernel?
        * Bugs in top-bit-safe changes fixed: dragbox resizing was broken, Escape
          state wasn't being restored for new tasks.
      Admin:
        Tested on high-ROM/stack, 48M-appslot Tungsten.
      
      Version 4.77. Tagged as 'Wimp-4_77'
      d085c3c9
  21. 23 Oct, 2002 1 commit
    • Ben Avison's avatar
      Given a good thrashing. · c8e139f1
      Ben Avison authored
      Detail:
        All pointers passed to the Wimp (mode selectors, menus, sprite areas,
        palettes, pollwords, validation strings, message lists, routines etc etc)
        in any of its APIs can now be anywhere within the 32-bit address range.
        In general, whenever "<= 0" was accepted as a null condition, the value
        must now be either 0 or -1. It should also be tolerant of system memory
        areas (supervisor stack and RMA) being in the top half of memory.
        Also:
        * Default next slot now a build option - Ursula builds (eg Tungsten) use
          1024K instead of 640K
        * Ursula builds no longer have a build variant in the help string
        * Autosenses ROM location
        * CR-LFs in *Configure messages replaced with LF-CRs
        * Added Iyonix resources (currently based on Morris4)
        * Morris4 sprites files have gained file_lxa, small_lxa, file_unf,
          small_unf and lo!help sprites
        * Ursula sprites files have gained lo!help sprites
        * *WimpSlot can take memory sizes in megabytes or gigabytes
      Admin:
        Tested on a "traditional" memory-mapped Tungsten.
      
      Version 4.76. Tagged as 'Wimp-4_76'
      c8e139f1
  22. 22 Aug, 2002 1 commit
  23. 21 Feb, 2002 1 commit
    • Mark Moir's avatar
      Creates Resources.Korea and Resources.Taiwan · cf4b3177
      Mark Moir authored
      Detail:
        Resources.Korea.Messages has translations for Cancel, Continue, OK,
          and Error.
        Resources.Taiwan.Messages has translations for Cancel, Continue, OK,
          and Error.
      Admin:
        No testing
      
      
      Version 4.74. Tagged as 'Wimp-4_74'
      cf4b3177
  24. 20 Feb, 2002 1 commit
    • Steve Revill's avatar
      A fix and some changes. · aa2bbc5d
      Steve Revill authored
      Detail:
        * Makefile change to allow install phase to work correctly with the
          shared makefiles.
        * Added some Japanese resources for the STB.
      Admin:
        Builds and installs.
      
      Version 4.73. Tagged as 'Wimp-4_73'
      aa2bbc5d
  25. 11 Jan, 2002 1 commit
    • Ben Avison's avatar
      Menu-related tinkering. · c7bbe2b5
      Ben Avison authored
      Detail:
        * Keyboard shortcuts in menus are now correctly aligned (and menus will
          be one pixel wider to compensate for the downwards rounding in SWI
          Font_ConverttoOS).
        * There is no longer any danger of menu titles being treated as though
          they contain a keyboard shortcut.
        * Dialogue boxes may now contain nested windows.
      Admin:
        Tested on a Risc PC.
      
      Version 4.72. Tagged as 'Wimp-4_72'
      c7bbe2b5
  26. 30 Nov, 2001 1 commit
    • Steve Revill's avatar
      Change to STB build options. · 9536a690
      Steve Revill authored
      Detail:
        Auto scroll in Filer windows is now on to stop blank error boxes
        when you try "rubber band" selections.
      Admin:
        Tested and works.
      
      Version 4.71. Tagged as 'Wimp-4_71'
      9536a690
  27. 29 Oct, 2001 1 commit
    • Steve Revill's avatar
      Minor resources change to all templates files. · 19856a46
      Steve Revill authored
      Detail:
        The titlebar and input focus colours for the window template for
        error boxes is now cream (12). This is more intuitive. Builds which
        do not have a title bar will not look any different.
      Admin:
        Included the little utility which did the modification in Test/ResMod
        (as in Resources Modifier - but who cares). May be of use in future.
      
      Version 4.70. Tagged as 'Wimp-4_70'
      19856a46
  28. 14 Sep, 2001 1 commit
    • Ben Avison's avatar
      Commit of my Wimp changes that have trickled in over the last four months. · 69d67881
      Ben Avison authored
      Detail:
        * The pointer passed to Wimp_CommandWindow can now be top-bit-set.
        * Bugfix to Wimp_CommandWindow: if the current task was uninitialised,
          or initialised as a non-multitasking task, then although entering the
          CommandWindow would restore escape condition generation to the way it
          was before entering the desktop, exiting the CommandWindow did not
          reset escape condition generation to the default desktop state (which is
          for escape condition generation to be disabled).
        * Escape condition generation is disabled for the duration of SWI
          Wimp_ReportError (instead of setting the default escape key for the
          duration). The previous state is restored on exit.
        * Added a minimal environment for the service call
          Service_ErrorButtonPressed, so that claimants can call OS_Exit without
          leaving the global Wimp error box in an undefined state.
        * In the Wimp_Poll loop, if there are no events to deliver to any tasks
          (not even null events), then rather than sitting in a SVC mode loop,
          the Wimp now triggers transient callbacks. This is particularly
          important in order not to halt all activity in the Internet stack.
          The option LeaveOS can be set to make the Wimp use the as-yet
          unimplemented SWI OS_LeaveOS for this purpose; this is currently unset
          for all builds.
        * By (persistent) request, reinstated the old iconbar popping code,
          though it is currently a build switch that is turned off for all builds.
      Admin:
        Tested on a Risc PC.
      
      Version 4.69. Tagged as 'Wimp-4_69'
      69d67881
  29. 13 Jul, 2001 1 commit
  30. 26 Jun, 2001 1 commit
    • Andrew Hodgkinson's avatar
      Stack imbalance corrected. · ced17cc1
      Andrew Hodgkinson authored
      Detail:
        When building a copy for RISC OS 3.1, this bug would be hit. Now fixed.
      Admin:
        Checked on RISC OS 3.1; seems to work fine now.
      
      Version 4.68. Tagged as 'Wimp-4_68'
      ced17cc1
  31. 29 May, 2001 1 commit
    • Ben Avison's avatar
      Minor fixes, some of which have been waiting to be committed for a while. · 6fb60dbf
      Ben Avison authored
      Detail:
        * Command line buffer for Wimp_StartTask (and anything that uses it,
          eg *WimpTask) increased from 256 bytes to 1024 bytes.
        * Top-bit-set message list pointers passed to Wimp_Initialise and
          Wimp_RemoveMessages now work (there was never a problem with
          Wimp_AddMessages!)
        * The fix for top-bit-set application name pointers in Wimp 4.65 actually
          only fixed lookup for "<application> may have gone wrong" lookups. They
          now work correctly in error window title construction, and when
          constructing an application sprite name if flag bit 8 is clear.
        * A pointer value of 0 is now accepted in addition to -1 for an
          "<application> may have gone wrong" lookup - this brings it into line
          with the other two places where the application name pointer is
          referenced.
        * When constructing an error window title, the Wimp would skip any leading
          backslash character. Now it does so when constructing "<application> may
          have gone wrong" too - this is a simple way to disable the application
          sprite in the error window.
      Admin:
        Error box behaviour actually tested this time!
      
      Version 4.67. Tagged as 'Wimp-4_67'
      6fb60dbf
  32. 25 May, 2001 1 commit
    • Justin Kelly's avatar
      Added Martha components. · 604d85c3
      Justin Kelly authored
      Detail:
              Added Martha directories to Resources/UK by directly coping and renaming Lazarus
              directory.
      
      Admin:
            Work in progress on Martha build machine.
      
      Version 4.66. Tagged as 'Wimp-4_66'
      604d85c3
  33. 23 Mar, 2001 1 commit
    • Ben Avison's avatar
      Fixed a number of long-standing but low priority bugs in the Wimp. · 223e02a8
      Ben Avison authored
      Detail:
        * Any top-bit-set sprite area pointer in a window definition was treated
          as a null pointer, and any top-bit-set program name pointer in
          Wimp_ReportError was similarly treated as a null pointer.
        * For 24-bit window colour builds, when the Wimp drew a title bar with
          the input focus, and there were sprite icons in the previously redrawn
          window, and the most recently plotted icon sprite was unpaletted and not
          selected or inverted, then the translation table for the icon sprite (in
          the RMA) would leak. I suppose that's what I get for re-using a bit of
          dead code without fully working out why it was bypassed in the first
          place...
        * The key handling code used to be over-eager to read bytes from the
          keyboard buffer: it would attempt to read up to 6 bytes ahead to ease
          the recognition of UTF-8 character sequences. This could cause problems,
          in particular if F12 was one of those 6 bytes, then any following bytes
          would be queued for use as Wimp keypresses, rather than being left in
          the keyboard buffer for use by ShellCLI. The Wimp now analyses the first
          byte read to make a sensible estimate of how many bytes it needs to read
          ahead.
        * Select-dragging (including Select-resizing) of windows with panes used
          to soak up all the processor time. This was because when the task
          received an Open_Window_Request, it would re-open the pane in front of
          the main window, but this would cause the Wimp to believe that it had to
          re-open the main window at the front of the stack again when Wimp_Poll
          was next called. The problem has been fixed so that the Wimp now
          examines all the windows in front of the drag window to see if they have
          the pane window flag bit set, and doesn't reshuffle the windows if they
          all do. (Actually, the test is performed such that foreground windows
          in front of the drag window are also ignored.)
      Admin:
        Tested on a desktop machine.
      
      Version 4.65. Tagged as 'Wimp-4_65'
      223e02a8
  34. 16 Mar, 2001 1 commit
  35. 15 Mar, 2001 1 commit
    • Ben Avison's avatar
      A couple of fixes for bugs that were crippling 32-bit Lazarus builds. · 443e5637
      Ben Avison authored
      Detail:
        1) The pointer to the module flags word wasn't made relative to the start
           of the module; because the linker bases an image at &8000 by default,
           this meant that the module flags pointer pointed at a word 32K too far
           into the image, and there were even chances whether a given build of
           the Wimp would appear to be 32-bit compatible.
        2) Due to a missing alignment directive in the Wimp's workspace layout, if
           you did a build of the Wimp where one or more of the ClickSubmenus,
           IconiseButton, StickyEdges or BounceClose switches were on but the
           PoppingIconBar one was off, you would end up with several word-sized
           locations being non-word-aligned. This affected embedded builds, where
           only the ClickSubmenus switch (new in Wimp 4.57) is typically set, but
           not desktop builds, where PoppingIconBar is typically set.
      Admin:
        Only tested on a desktop machine so far, but this wouldn't have shown up
        either of the problems in the first place...
      
      Version 4.63. Tagged as 'Wimp-4_63'
      443e5637
  36. 23 Feb, 2001 1 commit
    • Stewart Brodie's avatar
      Improvement to menu creation code. · 5345e294
      Stewart Brodie authored
      Detail:
        Instead of continually extending the menu windows icon by icon, this
          version calculates how many icons it is going to need, and claims
          them en bloc, marking all the icons as deleted so that as the menu
          code creates each icon, no more block extending needs to be done.
        int_create_multiple_icons does the extension work; the menu generation
          code in Wimp05 does the initialising before calling int_create_icon
          lots of times (3*number of items in menu)
      Admin:
        Tested in a desktop build.
      
      Version 4.62. Tagged as 'Wimp-4_62'
      5345e294
  37. 05 Jan, 2001 1 commit
  38. 30 Nov, 2000 1 commit
    • Ben Avison's avatar
      Wimp_SetMode called outside the desktop now has no effect again. · 17b44c2a
      Ben Avison authored
      Detail:
        32-bitising introduced the bug: the routine copy_mode_specifier no longer
        preserves flags, but Wimp_SetMode was relying on it doing so. Wimp_SetMode
        has been changed to re-test the number of active tasks again after the flags
        have been corrupted.
      Admin:
        Tested in a desktop build.
      
      Version 4.60. Tagged as 'Wimp-4_60'
      17b44c2a