- 01 Jun, 2013 3 commits
-
-
Robert Sprowson authored
The change made in Wimp-5_02 to Wimp-5_03 (to permit 'f' prefixed toolsprites) introduced a set of interesting boundary cases not covered by that scheme. This commit restores the former behaviour, while retaining its simplification of H/V scrollbar plotting (beefed up with a few ASSERTs). Part of fix for ticket #323. Tagged as Wimp-5_30-pre4.
-
Robert Sprowson authored
If the last window drawn before dropping to the command line had the input focus then a *TOOLSPRITES command is used the default translation table would be tinted. On reentering the desktop the back & close icon of the first window draw (= top of stack) would be the wrong colour. Tagged as Wimp-5_30-pre3.
-
Robert Sprowson authored
When CnP=TRUE but UTF8=FALSE the code path through pushfontstring for icons using the 'D' validation string would use R11 as a temporary without having preserved it (the UTF8 case preserves it because it uses R11 as a bitmask of substitutes). Changed to always preserve R11, the routine is so huge one extra pushed register isn't going to slow it down measurably. Adjusted options files now this combination is safe. Tagged as Wimp-5_30-pre1.
-
- 21 May, 2013 1 commit
-
-
Robert Sprowson authored
Way back in Wimp-4_76 the range check for being in ROM (in the free tool area function) was reworked as the ROM was no longer at the top of the 64M address space. In doing so the sense of the function got inverted and actually the tool area was not freed at all. The result of this would be that swapping to no toolsprites (for that retro RISC OS 2 look) would data abort when the kernel tried to plot a sprite from address 0 because the check prior to the title bar plot believed a tool area existed. Version 5.29. Tagged as 'Wimp-5_29'
-
- 18 May, 2013 1 commit
-
-
Robert Sprowson authored
When 'outlinefont' is enabled, the drawicon_system function used to plot the close/back/resize etc icons tries to do so from the currently selected outline font. This usually results in various top bit set characters inappropriately being shown. Now, when there are no tool sprites loaded the gadgets are forced to be plotted in the system font (where the Wimp has carefully redefined the font), but the remainder of the desktop (eg. the title bar, user text) stays in the selected desktop font. Version 5.28. Tagged as 'Wimp-5_28'
-
- 11 May, 2013 1 commit
-
-
Robert Sprowson authored
Substitute magic numbers through the code. Squash some UAL warnings from missing #'s in Wimp10.s Version 5.27. Tagged as 'Wimp-5_27'
-
- 09 May, 2013 1 commit
-
-
Robert Sprowson authored
On completing the sprite area merge the Wimp would try to minimise the RMA by -256MB (to account for the fact that during the merge the RMA is enlarged to hold both the existing sprites and the new ones to be merged, in the case of duplicates). However, this meant that the common construct IconSprites MySprites Run MyApp where MyApp wanted to use more than a teaspoon of RMA would fail due to the lack of free pool and that the RMA can't be resized when an application is running as a result. Now, the Wimp notes the free space in the RMA, does the -256MB shrink, then ensures there's still the same free space after the event (ie. overall it may have grown by the size of any extra sprites added during the command). Tested on RISC OS 3.10. Version 5.26. Tagged as 'Wimp-5_26'
-
- 06 May, 2013 1 commit
-
-
Robert Sprowson authored
Previous attempt to disable Sprites11 support for 3.10 and 3.50 hadn't spotted it was reenabled in the common options, also the Sprites11 switch was also tied up in Wimp$IconTheme support. Title bars would flicker when picked up when using a tool sprite set with no 'p' pushed equivalents on RISC OS 4.0x due to screen cache. Makefile now installs a default set of tools & sprites when target is ThemeDefs. CLI limit reduced to 256 pre Ursula to save RAM. Options/!Common: Promote Sprites11 switch into !Default Remove fixrmatools Options/!Default: Sprites11 true by default LongCommandLines true by default, false on targets pre Ursula Remove ServiceCallTable (harmless to have it in all cases) NewSWIs.s: Enable Wimp_Extend 13 all the time Wimp01.s: Reduce RMA use by vital 1.5k for non long command line case Change sense of Sprites11 switch to adopt all its previous functionality, but not look for '11' suffix when the switch is false Adopt ServiceCallTable switch permanently Wimp02.s: Comments ammended Wimp07.s: Range of ADR Wimp10.s: Change sense of Sprites11 switch to adopt all its previous functionality, but not look for '11' suffix when the switch is false Adopt :LNOT: fixrmatools switch permanently Supress title bar sprite plotting when none of the sprites exist Version 5.25. Tagged as 'Wimp-5_25'
-
- 03 May, 2013 2 commits
-
-
Robert Sprowson authored
The pointer comparison checking required when running in a system with > 64M memory was tightened up from Wimp-4_75 to Wimp-4_76, but to allow the module to target pre RISC OS 5 systems an option to relax those checks is required. Each check has been revisited and where appropriate demarked with a "AcceptLoosePointer" macro, which just remaps the pointer into the stricter form and carries on. In the strict checking case, the macro reduces to nothing. Detail: Add AcceptLoosePointers switch. Retire singular use of StrongARM switch (calling XOS_SynchroniseCodeAreas is harmless pre StrongARM anyway). Rename Ursula_RPC options to RO400. Put duplicate documentation in the attic. Allow -2 or -1 as the iconbar handle in Wimp_ResizeIcon (ticket #203). Tighten up the list terminator check in the DebugMemory switch of Memory.s Tested on RISC OS 3.10 (emulated), 3.50, 3.60, 3.70, 4.02. Version 5.24. Tagged as 'Wimp-5_24'
-
Robert Sprowson authored
Wimp03.s: check that pollword was in application space was corrupting R3 leading to an address exception (!) on pre Medusa targets Wimp08.s: compare had erroneously been change to equality check, leading to screwy memory allocation and much instability on 3.50 and 3.60 especially when applications quit Version 5.23. Not tagged
-
- 27 Apr, 2013 1 commit
-
-
Robert Sprowson authored
In Wimp-5_22 change (to not use the bitfield definition as a build switch) the sense got inverted, so would have hardwired text for international versions. Version 5.23. Not tagged
-
- 13 Apr, 2013 1 commit
-
-
Robert Sprowson authored
When matching an icon on the iconbar the window is initially matched correctly, but the "is this the right task" filter step was trying to compare the handle with -1. The result was that you would get the first match for any iconbar icon rather than a match for *your* iconbar icon. Unrelated: Tiling.s/Iconbar.s add a couple of comments and use symbols instead of magic numbers. Tested with a quality 3 line BASIC program, no longer returns icon #0 all the time. Version 5.23. Tagged as 'Wimp-5_23'
-
- 10 Apr, 2013 1 commit
-
-
Robert Sprowson authored
Minor fixups as part of univeral !Boot work. Options no longer ASSERT on International_Help (which is a definition exported by the kernel, rather than a build switch), and instead define a switch which is true for > 3.50. Non UTF8 supporting case has simple substitutes for Wimp_TextOp. Legacy_DomainId and LegacyIRQsema no longer cause NULL pointer dereference. MOVeQ => MOVEQ to placate ObjAsm. Ursula_RPC version built and used briefly on RISC OS 4.02 host. No other run time testing. Version 5.22. Tagged as 'Wimp-5_22'
-
- 31 Mar, 2013 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp10 - cachetoolspritedata was using two slightly different ColourTrans calls for reading the table size and then filling the table in. This was resulting in the 'generate wide table' flag sometimes being ignored when the table size was checked, resulting in too little memory being allocated and so heap corruption when the table generation call overflowed the end. Admin: Tested on Pandora Fixes "not a heap block" errors when entering desktop Version 5.21. Tagged as 'Wimp-5_21'
-
- 28 Mar, 2013 1 commit
-
-
Robert Sprowson authored
With the introduction of 16bpp/32bpp modes it became possible to request tables from ColourTrans which used > 1 byte per colour, but the Wimp wasn't using this extension. Therefore tool sprites designed in 8bpp or less would be quantised horribly when plotted in a 16bpp or 32bpp mode. The Wimp now requests and plots with a wide table, and to avoid thrashing ColourTrans so much with the prevalence of individually paletted icon sprites, keeps the table seperately to the icon sprites ones. At worst (in 32bpp) this uses an extra 256x4 bytes of RAM. Trace.s: Split out the tracing routines from Wimp10 as it was getting a bit big. Tiling.s: Namespace change for the icons versus tools distinction. Removed some unnecessary PC+8/PC+12 confused NOPs. Tiling3D.s: Namespace change for the icons versus tools distinction. Wimp01.s: New set of variables to track the tool translation tables separately. Various jiggling to keep ADRs in range. Wimp02.s: Namespace change. Remove some double handling in Wimp_SetColourMapping. Wimp04.s: Namespace change. Made factor rationalisation common to both the icon and tool grinding code. Removed dual use of cachespritedata for both icons and tools. The tintfunc moves to Wimp10. Service_InvalidateCache confusion resolved by adding a new flag to remember that the tools need regenerating rather than just marking the tool list as missing (which subsequently got restored in Tool_SpriteOp without actually doing any palette work. Wimp10.s: Label tools_area renamed as it was immensely confusing to have that (which was actually holding the RMA allocation of the tool_list) and tool_area (which contains the sprite area) hanging around. Changed references to use tools-only cachetolspritedata routine. Added 'wide' flags to sprite op and colour trans calls. Tool_SpriteOp changed to actually regenerate the colour tables when they're known invalid (previously the tools list pointer was merely restored and no colour tables used). Trace functions extracted. Resolved confusion as to what recache_tools_trans and recache_tools_trans2 should be doing. Tested with 4bpp "NewLook" sprites in 4bpp/8bpp/16bpp/32bpp and 8bpp smooth greyscaled "Steel" tool sprites in same modes. Also ran a task window doing repeated Service_InvalidateCache calls while monitoring the RMA for leaks. Generally navigated around some directories to ensure that inverse icons (during double click) and filer windows (with individually paletted sprites) were being rendered. Version 5.20. Tagged as 'Wimp-5_20'
-
- 09 Oct, 2012 1 commit
-
-
Steve Revill authored
Version 5.19. Tagged as 'Wimp-5_19'
-
- 11 Aug, 2012 1 commit
-
-
Robert Sprowson authored
Version 5.18. Tagged as 'Wimp-5_18'
-
- 14 Jul, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp04 - in SWIWimp_ReadPixTrans, check whether we've got a pixtable before trying to read from it Admin: Tested on BB-xM with high processor vectors Although I was unable to reproduce the issue myself, judging by the address given in the bug report this should fix an abort when dragging certain files in the filer See here for bug report: http://www.riscosopen.org/forum/forums/2/topics/226?page=2#posts-13500 Version 5.17. Tagged as 'Wimp-5_17'
-
- 08 Jul, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp10 - Corrected interrogation of icon flag word IST bits to avoid trying to parse the sprite area pointer of an indirected sprite as a validation string Admin: Tested on BB-xM with high processor vectors Fixes crash when dragging file icons in saveas dialogs Version 5.16. Tagged as 'Wimp-5_16'
-
- 24 Jun, 2012 1 commit
-
-
Robert Sprowson authored
Messages updated to be more specific/helpful. Magic numbers for OS_File swapped to use names from Hdr:HighFSI. Version 5.15. Not tagged
-
- 23 Jun, 2012 1 commit
-
-
Robert Sprowson authored
Therefore, when in ROM, the ROM theme can be inferred. When a different theme is selected by the user in the boot sequence, that is respected. Restore a lost error message for *ICONSPRITES when the file doesn't exist even after trying all the 11/22/23 suffix and prefixes. This seems to have been lost post RISC OS 3.10 when Sprites22 support was added, but it is an error for the file given to not exist at all (cf. *TOOLSPRITES). Typos in docs ammended. Version 5.15. Tagged as 'Wimp-5_15'
-
- 23 Jan, 2012 1 commit
-
-
Robert Sprowson authored
RISC OS Select has added reasons 18-27 and this change implements those that map directly to features that already exist (unimplemented ones return an error as before). One additional reason, 28, permits the reading of the flags collected from the *WimpVisualFlags command so that applications can discover if the cheesy 3D borders are on or not. Version 5.14. Tagged as 'Wimp-5_14'
-
- 04 Aug, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp, s/Wimp01, s/Wimp02, s/Wimp07, s/Wimp08 - Try using OS_ReadSysInfo 6 to get IRQsema & DomainId locations before falling back on legacy values. Store the pointers in module workspace for speedy access. Admin: Tested on rev A2 BB-xM Version 5.13. Tagged as 'Wimp-5_13'
-
- 14 Apr, 2011 1 commit
-
-
Ben Avison authored
Detail: These utilise SpriteExtend 1.42 to set the pointer active point from the sprite mask. Version 5.12. Tagged as 'Wimp-5_12'
-
- 01 Feb, 2011 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp03, s/Wimp07 - When saving the VFP context the Wimp now uses lazy context switching where possible, via a combination of the Lazy & AppSpace flags Admin: Tested on rev A2 BB-xM Requires VFPSupport 0.02 Version 5.11. Tagged as 'Wimp-5_11'
-
- 04 Dec, 2010 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp04 - The checkhandle* routines now checks that the window pointer is word aligned before attempting to load any data from it. This prevents alignment faults on ARMv6+, and should result in more accurate sanity checks in general. Admin: Tested on rev C2 beagleboard. Fixes issue reported on forums: http://www.riscosopen.org/forum/forums/5/topics/517 Version 5.10. Tagged as 'Wimp-5_10'
-
- 26 Nov, 2010 1 commit
-
-
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'
-
- 14 Mar, 2010 1 commit
-
-
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'
-
- 06 Nov, 2009 1 commit
-
-
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'
-
- 01 Oct, 2009 1 commit
-
-
Steve Revill authored
Version 5.06. Tagged as 'Wimp-5_06'
-
- 15 Jun, 2009 1 commit
-
-
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
-
- 11 Jun, 2009 1 commit
-
-
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
-
- 20 Apr, 2009 1 commit
-
-
John Ballance authored
Detail: Wimp found to have ininitialised WindowOutlineColour until the WimpVisualFlags had been run. Now initialised at module startup. Admin: Tested in ROM build. J Ballance, Castle Version 5.05. Tagged as 'Wimp-5_05'
-
- 10 Sep, 2008 3 commits
-
-
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'
-
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'
-
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'
-
- 12 Jul, 2008 1 commit
-
-
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'
-
- 07 Oct, 2007 1 commit
-
-
Ben Avison authored
Added a test harness that may be useful if anyone fancies finishing off drag and drop in writeable icons. Version 5.00. Not tagged
-
- 23 Feb, 2006 1 commit
-
-
John Ballance authored
Detail: Admin: Version 5.00. Tagged as 'Wimp-5_00'
-
- 22 Feb, 2006 1 commit
-
-
John Ballance authored
Detail: caused occasional aborts on task quit. Admin: castle added IP Version 4.100. Tagged as 'Wimp-4_100'
-