1. 25 Mar, 2024 1 commit
  2. 25 Aug, 2023 1 commit
    • Ben Avison's avatar
      Rewrite rules for resources · a6951971
      Ben Avison authored
      BuildSys 7.91 changes how top-level phony rules are overridden.
      In this component, the `resources` target is redefined after `AAsmModule`
      is included, so it will be affected. Rewrite the rules so that they will
      continue to work the same (at least for native builds) both before and
      after BuildSys is updated.
      
      Version 5.86. Not tagged
      a6951971
  3. 24 Jun, 2023 6 commits
    • Robert Sprowson's avatar
      [603] Add missing low res Morris4 icons · c2bec8bd
      Robert Sprowson authored
      taskmanager & user2 (copied from switcher).
      vdivider (copied from Ursula set).
      And, less mission critical, ic_alarm & ic_chars & ic_configure created.
      
      Version 5.86. Tagged as 'Wimp-5_86'
      c2bec8bd
    • Robert Sprowson's avatar
      Add !Choices application icon to disc sprite pool · b034b2c1
      Robert Sprowson authored
      One each for the maintained themes.
      Special thanks to Richard Hallas for contributing the RISC OS 5 design.
      b034b2c1
    • Robert Sprowson's avatar
      Add WimpVisualFlag to turn off icon bar borders · ef5a9e66
      Robert Sprowson authored
      Given it's now possible to have a different tile sprite for the icon bar
      background, it may look wrong to have a black border around that window. Allow
      it to be turned off.
      ef5a9e66
    • Robert Sprowson's avatar
      [580] Fix for excessive RMA jumps when *IconSprites on RISC OS 3.10 · a26e07c5
      Robert Sprowson authored
      Pre Medusa sprites are held in the RMA. Wimp 5.26 adjusted the RMA behaviour
      where previously after *IconSprites a resize of -256MB would surprise apps
      that wanted some RMA for things in their !Boot or !Run files but found there
      was none due to having looked at their sprites.
      
      However, the resize of -256MB does not always result in 0kB free space, so
      each *IconSprites command ended up net growing the RMA by whatever the shrink
      left *plus* the previous free amount.
      
      Fix this by reading the free space in the RMA and adjusting up or down as
      needed to always end up with a safe free space position.
      a26e07c5
    • Robert Sprowson's avatar
      [581] Revise assumption that ROM toolsprites are always unmasked · 43436c13
      Robert Sprowson authored
      Wimp-3_99o introduced an assumption that any toolsprites in ROM are to be
      plotted unmasked, and that holds for Ursula and later where the ROM set don't
      need the underlying colour (gadgets are always grey and rely on the tintfunc to
      make the focus titlebar cream).
      The toolsprites in the RISC OS 3.10 ROM however are almost entirely transparent
      as their 2D look just plots pixels on top of the underlying fill colour.
      
      Change the logic to look at all the toolsprites and only use the solid plot
      SpriteOp if they are all truly solid (skipping the titlebar, since those are
      already special cased by dofunkytitlebar and the tintfunc).
      43436c13
    • Robert Sprowson's avatar
      Add HTML and GIF icons to Morris4 disc sprites · 44bbafe6
      Robert Sprowson authored
      file_faf and file_695 taken from !Browse.
      44bbafe6
  4. 14 Jan, 2023 4 commits
    • Robert Sprowson's avatar
      Fix for zombie task preventing desktop exit after shutdown · 5ea3f800
      Robert Sprowson authored
      When the last task closes down have the clipboard manager task go dormant rather
      than pending. Otherwise, we get stuck in a race condition wanting to start back
      up again when the Task Manager's shutdown dialogue quits (Ctrl-Shift-F12 then
      Ctrl-Shift-F12).
      
      Wimp01.s:
      Define symbolic names for the special values if clipboard_taskhandle for states
      pending/run now/dormant.
      Wimp02.s:
      When the final task closes down, *now* it is safe to go to the pending state.
      Wimp07.s:
      Tidy up runthetask, and use Wimp version of 200 for the temporary task initialised
      rather than pass an undefined R3 to Wimp_Initialise. Share a common OS_CLI tail.
      CBTask.s:
      When asked to quit via user message 0, set the state to dormant.
      
      Version 5.85. Tagged as 'Wimp-5_85'
      5ea3f800
    • Robert Sprowson's avatar
      [509] Fix abort autoscrolling off a window with no icons · 3f8f8581
      Robert Sprowson authored
      When looking up the user icon button type passed in R3/R4, use the window handle
      in R3 rather than 'handle' which is the window in which autoscrolling started.
      This caused an abort if that window contained no icons (because w_icons = -1, and
      R4 != -1 leading to R5 = 15 and invariably an address in zero page somewhere).
      3f8f8581
    • Robert Sprowson's avatar
      [519] Wimp crash on bad title bar validation · 13316dc0
      Robert Sprowson authored
      Reset the redrawhandle when creating a new window, so an empty title validation string
      doesn't cause an unwanted page in of another task. This could lead to a subsequent abort
      if the wrongly paged in task had a smaller slot when attempting to dereference the
      pointer.
      13316dc0
    • Robert Sprowson's avatar
      [555] Fix for corrupt registers in Service_ModeChange · 131bd90b
      Robert Sprowson authored
      Service_ModeChange -> recalcmodevars -> readvduvars2
      but readvduvars2 uses r5 and r6.
      131bd90b
  5. 29 Dec, 2021 1 commit
    • Andy Vawer's avatar
      Fix crash on closing menu containing a writeable icon with focus as part of the menu tree · a3b6237a
      Andy Vawer authored
      * When closing menus, set_caret_position is called to remove the caret from the menu tree
        which tries to redraw the icon without a caret as the window is still defined and valid
      * This happens after clearing the menutaskhandle though, so the redraw can't page in the
        right task
      * The redraw then fails badly trying to access memory from the wrong task
      
      Version 5.84. Tagged as 'Wimp-5_84'
      a3b6237a
  6. 15 Dec, 2021 1 commit
  7. 13 Sep, 2021 2 commits
    • Robert Sprowson's avatar
      Fix to invalidate entire tile cache · be34ad90
      Robert Sprowson authored
      A hardwired 18 in reset_all_tiling_sprites meant that one slot was never cleared, so a change in the Wimp's sprite pool could leave a cached sprite pointer pointing to something invalid.
      Ref https://www.riscosopen.org/forum/forums/5/topics/16708
      
      Version 5.83. Tagged as 'Wimp-5_83'
      be34ad90
    • Andy Vawer's avatar
      Abandon set caret position if the window or menu isn't there · 0148e0ea
      Andy Vawer authored
      During destruction of the menu tree, if set caret position fails when resetting the caret to the old position (ie. illegal window handle as the window has been deleted) then destroying the menu tree also fails with catastrophic results.
      Therefore
      * Do not fault SetCaretPosition to invalid window handle, just change it to -1
      * Do not try to redraw areas of an invalid window when moving caret
      
      Version 5.82. Not tagged
      0148e0ea
  8. 14 Jul, 2021 2 commits
    • Jeffrey Lee's avatar
      Crunch ROM icon sprites · e62f3580
      Jeffrey Lee authored
      Save around 50KB of ROM space by converting the icon sprites to use RISC
      OS 3.5 mode words instead of numbered modes, reducing the size of the
      mask data to around a quarter of its old value.
      
      Tested in IOMD ROM, with boot sequence disabled (to ensure the ROM
      sprites get used).
      
      Version 5.82. Tagged as 'Wimp-5_82'
      e62f3580
    • Jeffrey Lee's avatar
      Fix Message_TaskInitialise reporting wrong slot size · be560349
      Jeffrey Lee authored
      Message_TaskInitialise was reporting that MemoryLimit was the slot size
      of the application, which was resulting in the task manager showing the
      wrong slot size if for some reason MemoryLimit had been artificially
      reduced below ApplicationSpaceSize (e.g. due to the task being a child
      of a C system() call). And because MemoryLimit is lower than
      ApplicationSpaceSize, any attempt the task makes to grow/shrink its wimp
      slot is denied, so task manager will be stuck showing the wrong value
      for the entire lifetime of the task.
      
      Fix Message_TaskInitialise to use ApplicationSpaceSize instead, so that
      the total size of the slot is reported instead of just the usable area.
      
      This fixes task manager incorrectly showing that Fat32Fs has a slot size
      of 0 on some of my Raspberry Pis, when really it has a size of 256K.
      This discrepancy was also causing the "System memory allocation" numbers
      to not total up correctly (the sum was 256K lower than the displayed
      total).
      be560349
  9. 10 Jul, 2021 2 commits
    • Robert Sprowson's avatar
      Add themeable icon bar tiles · 5958a073
      Robert Sprowson authored
      Allow theme designers to use a different sprite for the background tile of the iconbar, distinct from the other windows. This looks for 'tile_i' before falling back to 'tile_1' as before, in addition to the existing 'tile_m' for menus.
      
      Version 5.81. Tagged as 'Wimp-5_81'
      5958a073
    • Robert Sprowson's avatar
      [378] Extra switches to set button true colours · 583685c0
      Robert Sprowson authored
      WimpVisualFlags gains -ButtonColour -ButtonWellColour -ButtonHighlightColour to allow a theme designer to set the button/well/pressed colours for R1-R7 slabbing to some other colour, and -ButtonBorderFaceColour -ButtonBorderOppColour -ButtonBorderShallowColour for the outlines.
      The given colours are only used when there is no 'C' validation.
      583685c0
  10. 17 Oct, 2020 1 commit
    • Andy Vawer's avatar
      Fixes for dropping text into writable icons · 30c0dbf5
      Andy Vawer authored
      * If dragging text from a writable icon and the source text or selection disappears during the drag, an ofla error occurs. Change to abort quietly (ie no text copied as nothing to copy) and remove the ghost caret from view.
      * Remove ghost caret on invalid dropped drags
      * Either use correct insert point from ghost caret when receiving a drag, or use current mouse coords for the destination if no ghost caret present.
      * Change datasave handling to check ghost caret presence for the destination rather than trying to check the enhanced datasave state.
      * Use window X coord for drop rather than screen Xcoord to ensure correct insert point.
      
      Fixes dragging multiline text areas from Draw leaving a ghost caret when it failed, and dragging a basic text object from Draw now inserts at the correct place.
      
      Version 5.80. Tagged as 'Wimp-5_80'
      30c0dbf5
  11. 12 Sep, 2020 2 commits
  12. 26 Aug, 2020 1 commit
  13. 20 Jul, 2020 1 commit
    • Robert Sprowson's avatar
      Rename clashing CLI macro · 85171512
      Robert Sprowson authored
      The name clashes with the recently added clear IRQ flag macro, CLI, but is only used in a debug case.
      
      Version 5.77. Not tagged
      85171512
  14. 08 Jul, 2020 2 commits
  15. 29 Jun, 2020 2 commits
  16. 23 May, 2020 1 commit
  17. 11 May, 2020 1 commit
  18. 02 May, 2020 1 commit
    • Jeffrey Lee's avatar
      Fix delivery of extended scroll requests · b752d15a
      Jeffrey Lee authored
      Extended scroll requests and regular scroll requests share the same
      reason code, but are different sizes. Update calcmessagesize to
      calculate the size of extended scroll messages correctly, so that the
      icon number won't get chopped off when the message is being passed to
      the target task.
      
      Version 5.73. Tagged as 'Wimp-5_73'
      b752d15a
  19. 11 Apr, 2020 1 commit
    • Andy Vawer's avatar
      Allow text to be dragged from writable icons to icon bar icons · 791a168f
      Andy Vawer authored
      Check destination window handle and add destination icon handle if sending message to window handle -2.
      Improve window handle validation (not assuming all -ve handles are invalid, should the RMA move to have top bit set).
      
      Version 5.72. Tagged as 'Wimp-5_72'
      791a168f
  20. 30 Jan, 2020 1 commit
    • Andy Vawer's avatar
      Fix issue where dragging text from icon caused a crash in foreground task · 1475387a
      Andy Vawer authored
      When releasing claim, use of stale register meant that the foreground task wasn't correctly bouncing Message_Dragging when the pointer moved out of range. Also added a sanity check in get_selected_text so that if for some reason the selection window disappears mid action it will be caught and not cause a crash.
      
      Version 5.71. Tagged as 'Wimp-5_71'
      1475387a
  21. 25 Jan, 2020 1 commit
  22. 18 Jan, 2020 1 commit
    • Andy Vawer's avatar
      Fix zero page access looking for ptr_ sprite validation · 384a1ec5
      Andy Vawer authored
      On mouse click, check for icon type was incorrect, so trying to apply tests for 'P' validation string/ptr_write on inappropriate icons (eg. sprites), leading to invalid validation string accesses. Correct the test performed.
      Also add 3 further AcceptLoosePointer checks to validation string pointers.
      
      Version 5.69. Tagged as 'Wimp-5_69'
      384a1ec5
  23. 04 Jan, 2020 4 commits