- 14 Jul, 2021 1 commit
-
-
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).
-
- 14 Dec, 2019 1 commit
-
-
ROOL authored
Detail: The text in writable icons can now be manipulated using the familiar keyboard shortcuts, or using Drag and Drop in conjunction with any compliant applications. Further details are in Doc/DragAndDrop along with information on API extensions which are implemented. Admin: Submission for Clipboard Support bounty. Version 5.65. Tagged as 'Wimp-5_65'
-
- 24 Jul, 2017 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp02 - Get rid of the magic ~30 second delay before the Portable_Speed/Portable_Idle power saving kicks in. The fast/slow thresholds are self-adjusting, and any non-null poll event will kick the system into high speed, so removing the startup delay isn't likely to have any adverse affect on desktop startup time. s/Wimp01 - MaxIdleEvents is now redundant, remove it Admin: Tested on Raspberry Pi 3 Should resolve issue reported on the forums where RPCEmu thrashes the hosts's CPU for 30 seconds after entering the desktop: https://www.riscosopen.org/forum/forums/10/topics/8990 Version 5.59. Tagged as 'Wimp-5_59'
-
- 11 Apr, 2017 1 commit
-
-
Robert Sprowson authored
The operations at module init and at Service_PreReset are both implicitly pre desktop, however it is valid to have Service_ModeFileChanged while in the desktop (for example, if selecting a different MDF from !ScrnSetup). Gate the one hanging off Service_ModeFileChanged to only act when there are no tasks active (ie. outside the Wimp). Fixes problem reported https://www.riscosopen.org/forum/forums/4/topics/9206 with NetSurf redraw. Version 5.58. Tagged as 'Wimp-5_58'
-
- 08 Apr, 2017 1 commit
-
-
ROOL authored
Detail: Modification to make the Wimp reread 'currentmode' by calling OS_ReadSysInfo 1 in the following circumstances 1. On module init (accounts for being softloaded off disc) 2. At Service_Reset (accounts for any graphics driver starting after it in ROM module order) 3. When Service_ModeFileChange (new, this catches the new mode selected by an MDF or EDID during !Boot) Commoned up these 3 cases into 1 function. This restores the design intent that to get the monitor's native resolution it is *not* required to configure the MonitorType=EDID, indeed doing so wouldn't have helped loading EDID off disc if the monitor's data is found to be incorrect and needing overriding. Admin: Tested on a Pandaboard with MonitorType=Auto and resolution chosen as "Native", resulting in a desktop at the panel resolution. Version 5.57. Tagged as 'Wimp-5_57'
-
- 08 May, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp01, s/Wimp02, s/Wimp05, s/Wimp08s, s/Wimp10 - Avoid unnecessary remainder calculations in DivRem macro. Also make more use of DivRem's ability to accept a constant (not a register) as the divisor. Admin: Tested on Cortex-A15 Version 5.52. Tagged as 'Wimp-5_52'
-
- 20 Jul, 2014 1 commit
-
-
Robert Sprowson authored
Button type 11 was added in 1988 so is about time it had a symbol to refer to it in the sources. Added & used said symbols. Removed 'DoubleIcon' switch, prototype button type 12. Built binary identical module, not tested. Version 5.43. Not tagged
-
- 02 Jul, 2014 1 commit
-
-
Jeffrey Lee authored
Detail: s/Wimp02 - With Kernel-5_35-4_79_2_210 and later, the greyscale palette flag updates in real time to reflect the current state of the palette. Therefore we must read the state of the flag before we set our colour palette, otherwise we won't know that we need to apply the greyscale fixup afterwards. Admin: Tested on BB-xM Version 5.43. Tagged as 'Wimp-5_43'
-
- 19 Apr, 2014 1 commit
-
-
Robert Sprowson authored
For the backgrounds, the code was switched with 'standalone' however the Wimp actively wipes SA_FLAGS in its makefile so the standalone switch is always false during the install phase of a disc build. Also, the standalone switch is used to include resources which are ordinarily handled by the boot sequence prefixing the WindowManager$Path rather than using ResourceFS. For the scroll bars, the decision to plot manually was being made by looking at the V flag on return from Tool_SpriteOp, except that that function uses EntryS/EXITS so the caller can't see the return flags. Added new switch CanTileManually, removed 0 use tilewithspriteops switch. Changed single use of NoFontBodge switch to use preferred 'outlinefont'. Tested on RISC OS 4.02. Version 5.41. Tagged as 'Wimp-5_41'
-
- 18 Apr, 2014 1 commit
-
-
Jeffrey Lee authored
Fix *WimpMode/Wimp_SetMode to return an error when given a bad mode selector block. Re-read configured mode on Sevice_Reset. Detail: s/Wimp01 - Reinitialise currentmode on Service_Reset in order to get the correct mode in the case of a GraphicsV driver overriding it (driver may not have been initialised at the time of the first call in module init). Add a bit more mode debugging and ensure ValidateAddress code completely removed under Medusa. s/Wimp02 - Issue OS_CheckModeValid in validatemode so we can detect cases where a valid looking mode selector block doesn't actually map to a mode definition. Add more mode debugging code. Admin: Tested on Raspberry Pi Fixes issue where "F12 -> *BASIC -> MODE 0 -> QUIT -> return" wouldn't restore screen mode correctly if currentmode had been set to a bad mode selector (e.g. after a CMOS reset nukes the LoadModeFile command), due to WimpMode's lack of error checking Note that this merely prevents currentmode being set to a bad mode at the time of *WimpMode/Wimp_SetMode - if a mode which is valid suddenly becomes invalid (e.g. due to loading a new MDF but not reselecting a valid wimp mode) then the Wimp will still fail to set a sensible mode on return to the desktop. Version 5.40. Tagged as 'Wimp-5_40'
-
- 08 Sep, 2013 1 commit
-
-
Robert Sprowson authored
Makefile: * Conditionally copy the disc resources, saving a little build time. Wimp10.s; hdr/Wimp: * Issue Service_WimpToolSpritesChanged when the tool sprite area is changed. Wimp05: * Fix bug in softloaded versions of the Wimp where menus would randomly lose the keyboard shortcut text. This was caused by use of an LDR to retrieve a byte wide variable. This specifically affected some softloads because the Wimp gets squeezed, and during unsqueezing the Wimp's workspace ends up being allocated from the same bit of RMA that used to contain the squeezed copy of the module (=lots of random numbers). Wimp09: * Fix bug where configuring WimpSpritePrecedence to ROM when a theme is loaded would cause redrawing of window textures to fail. This is because the Wimp intersects the ROM and RAM sprite areas and deletes any duplicates from the RAM area when remaking the fast lookup sprite list. So if the RAM sprites include the "tile_1" (etc) sprite on redrawing the desktop the Wimp points to this, then intersects the lists and deletes the sprite, leaving the pointers pointing at junk. Now, on deleting something, the window tile pointers are invalidated. Fixes ticket #346. Wimp02: * Fix bug where the title bar text, when the desktop font is the system font, is incorrectly rendered in the colour selected by WimpVisualFlag -WindowOutlineColour. The Wimp now restores the text colour if -WOC has set the graphics colour to something other than black. Administrative - In Wimp01, swap a couple of SpriteReasons from magic numbers. In the init of variables use the common reset_all_tiling_sprite function. In Tiling3D, more SpriteReasons, and rationalise the registers used in reset_all_tiling_sprites. Version 5.32. Tagged as 'Wimp-5_32'
-
- 06 Aug, 2013 1 commit
-
-
Jeffrey Lee authored
Detail: s/Tiling, s/Tiling3D, s/Watchdog, s/Wimp05, s/Wimp07, s/Wimp09 - Replaced OS_SpriteOp reason code magic numbers with symbolic definitions. s/Wimp01 - Update *WimpMode / Wimp_SetMode to use OS_ScreenMode 13 (mode string to specifer) in place of its own code if a mode specifier string has been given. Note - mode number handling is unchanged, so a mode specifier string which begins with a mode number will currently have the specifier part ignored. s/Wimp01, s/Wimp02 - Flag_* -> ModeFlag_* renaming s/Wimp02 - Fix mode specifier copying to only stop copying when we hit a mode variable of -1. Previous code would also stop if the variable value was -1. Update mode set code to apply the Wimp's special greyscale palettes if the greyscale mode flag is set (i.e. greyscale mode was set via specifier generated by OS_ScreenMode 13) Admin: Tested on BB-xM Version 5.31. Tagged as 'Wimp-5_31'
-
- 01 Jun, 2013 1 commit
-
-
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.
-
- 23 May, 2013 1 commit
-
-
Robert Sprowson authored
This specific case failed when the topmost window in the window stack (ie. the first to be attempted to be redrawn on reentering the desktop) had the focus and thus attempts to enable Ursula tinting. Though a check was made to see if the first sprite (from which the tint is derived) was present, no check was made to see if the tool_list was present => dereferenced NULL pointer. Retagged as Wimp-5_29.
-
- 21 May, 2013 1 commit
-
-
Robert Sprowson authored
The word wide variable actually contains the RGB value, rename this to be distinct from the 4 bit Wimp colour, to make searching easier. No change to binary, not tagged.
-
- 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'
-
- 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 1 commit
-
-
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'
-
- 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'
-
- 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
-
- 10 Mar, 2012 1 commit
-
-
Robert Sprowson authored
Retagged 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'
-
- 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'
-
- 10 Sep, 2008 2 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'
-
- 23 Jan, 2003 1 commit
-
-
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'
-
- 13 Dec, 2002 1 commit
-
-
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'
-
- 05 Dec, 2002 1 commit
-
-
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'
-
- 31 Oct, 2002 1 commit
-
-
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'
-
- 30 Oct, 2002 1 commit
-
-
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'
-
- 25 Oct, 2002 1 commit
-
-
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'
-
- 23 Oct, 2002 1 commit
-
-
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'
-
- 11 Jan, 2002 1 commit
-
-
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'
-
- 14 Sep, 2001 1 commit
-
-
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'
-
- 29 May, 2001 1 commit
-
-
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'
-
- 23 Feb, 2001 1 commit
-
-
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'
-
- 30 Nov, 2000 1 commit
-
-
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'
-
- 20 Oct, 2000 1 commit
-
-
Ben Avison authored
Detail: * Added new functionality for menu trees: submenus can now be opened by clicking on their parent menu item. This is particularly aimed at touchscreen devices, and is configurable via the new *Configure keyword WimpClickSubmenu. * Change to the menu inactivity timeout behaviour after auto-opening of submenus (either by hovering over the parent menu item or by the new click-to-open functionality): although all hover operations are still ignored for this period, any click operations *will* now be obeyed. * Corrected numerous misleading comments in the menu handling code. * Added some suspiciously absent ALIGNs in the *Configure keyword handlers. * Uses new ASCII case-forcing macros so there are now fewer warnings printed during assembly (and it should run faster now too). * Added an AREA directive so that objasm's -ABS switch is no longer needed. * Standardised ErrMem token across all Messages files that use English. Admin: Tested on a desktop machine. Requires HdrSrc 1.06. Version 4.57. Tagged as 'Wimp-4_57'
-
- 20 Jun, 2000 1 commit
-
-
Ben Avison authored
Detail: On previous Wimps, if you chose to disassociate the Wimp's physical colour mapping from the Wimp palette (using SWI Wimp_SetColourMapping), then subsequent calls to Wimp_SetPalette would write over the physical colour mapping instead of the Wimp palette. *WimpPalette, conversely, had the correct behaviour (ie it only ever affected the Wimp palette). Admin: There are actually loads of remaining bugs in the Wimp regarding the subtle difference between the physical colour mapping and the palette. Some calls try to cause a screen redraw in some circumstances, generally the wrong circumstances, and without all the necessary internal Wimp variables having been reset (so for example, you might find that window borders end up ibeing rendered incorrectly). It probably hasn't all worked properly since RISC OS 3.1... Version 4.53. Tagged as 'Wimp-4_53'
-