- 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'
-
- 26 Jun, 2001 1 commit
-
-
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'
-
- 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 Mar, 2001 1 commit
-
-
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'
-
- 16 Mar, 2001 1 commit
-
-
Stewart Brodie authored
Updated to build using objasm instead of aasm. Sources changed to be objasm-compatible. Admin: Requires Library 0.71 or later. Requires BuildSys 3.06 or later. Requires Env 0.65 or later. Version 4.64. Tagged as 'Wimp-4_64'
-
- 15 Mar, 2001 1 commit
-
-
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'
-
- 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'
-
- 08 Nov, 2000 1 commit
-
-
Kevin Bracey authored
Version 4.59. Tagged as 'Wimp-4_59'
-
- 03 Nov, 2000 1 commit
-
-
Ben Avison authored
Detail: As soon as a menu or submenu that contains a writeable menu item is opened, the caret is placed in the (first) writeable menu item. Furthermore, you can highlight any other menu item in such a menu without losing the input focus from the writeable menu item. The initial reason for this change was to allow the use of writeable menu items on a touchscreen device, since they have no way for you to move the pointer over the writeable menu item without selecting it. But, on the basis that this change is actually useful for mouse users, and that it makes the behaviour of such submenus more consistent with dialogue boxes, it has been made unconditional. Admin: Tested in a desktop build. Version 4.58. Tagged as 'Wimp-4_58'
-
- 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'
-
- 15 Jun, 2000 1 commit
-
-
Ben Avison authored
Detail: * The character codes returned from the Key_Pressed event were incorrect when the caret was in a writeable icon with Kd in the validation string, and either (a) the caret was not at the start and Delete or Backspace were pressed, or (b) the caret was not at the end and Copy was pressed. (This was because, in these cases, the writeable icon code exited through passbacktouser rather than exitprocess; the former expects the keycode to be preserved, but the UTF-8 extensions to key handling were corrupting it.) Shift-Copy, Ctrl-Copy and Ctrl-U were not affected. * The various checkhandle routines now preserve flags again, as they did before 32-bit support was added. This is crucial in a number of spots, because the flags are based upon a test of handle, and checkhandle corrupts the handle register. This fixes at least two bugs: you can now send messages to menus or dialogue boxes again, and Wimp_RedrawWindow called without a Redraw_Window_Request is back (so for example, the Desktop Welcome screen now works again). * Fixed a bit of errant 26-bitism in the multiple-window iconise code. Admin: Tested briefly on an Ursula build. Version 4.52. Tagged as 'Wimp-4_52'
-
- 06 Jun, 2000 1 commit
-
-
Ben Avison authored
Detail: When the last task closes, the Wimp tries to change to the configured screen mode (as determined using OS_ReadSysInfo 1). However, the Wimp was using VDU 22,x to set the screen mode, so results were undefined when the default screen mode was a pointer to a mode selector. The Wimp now uses OS_ScreenMode to change mode (except on RISC OS 3.1 builds where the SWI is not available). Admin: Not tested. Version 4.51. Tagged as 'Wimp-4_51'
-
- 15 May, 2000 1 commit
-
-
Stewart Brodie authored
Detail: Wimp 4.47-4.49 would die horribly if Wimp_CloseDown was passed an invalid task handle in R0 (the Repeat command in BootCommands does this!). The pull is now unconditional. Admin: Tested in Ursula build. Version 4.50. Tagged as 'Wimp-4_50'
-
- 25 Apr, 2000 1 commit
-
-
Kevin Bracey authored
Detail: Lots of little changes throughout a lot of source. Admin: Appears to work - not stress tested with things like lots of tasks, big transfers, and all the other things that tend to go wrong. Version 4.47. Tagged as 'Wimp-4_47'
-
- 06 Apr, 2000 1 commit
-
-
Ben Avison authored
Version 4.44. Tagged as 'Wimp-4_44'
-
- 30 Mar, 2000 1 commit
-
-
Ben Avison authored
Detail: The code that checked for a Wimp_Initialise version number of >= 380 before applying the new interpretation of title foreground colour &FF was broken: it was checking the current task handle instead of the task handle of the window's creator. A few other things needed tampering with in order to ensure that the window's task handle word is correctly set up at the time that the colour check is performed. Admin: Tested in a desktop build, using STB resources. Version 4.43. Tagged as 'Wimp-4_43'
-
- 29 Mar, 2000 1 commit
-
-
Ben Avison authored
Detail: * New STB Sprites, Templates and Tools files imported, based upon the Lazarus UI rather than the old STB UI. * STB build now includes WIMPSymbol. * No longer attempts to use WIMPSymbol font in UTF8 builds which didn't register the font in ResourceFS. * Simplified Resources directories by assigning only a single pair of Messages files to each locale, rather than for each UI directory within each locale directory. The only code change required is to make the Wimp error box always use the "Continue" token for NC/STB builds, rather than using one of "OK" and "Continue", as with desktop builds. Admin: Not tested. Version 4.42. Tagged as 'Wimp-4_42'
-
- 22 Nov, 1999 1 commit
-
-
Ben Avison authored
Detail: Title bars: one of the Ursula redraw optimisations was that if the title bar sprites had no mask, then the title bar is no longer filled in before the sprites are plotted. Lazarus' toolsprites were falling foul of this, because the title bar top and bottom sprites (tbarmidt/tbarmidb) had a lesser height than the end sprites (tbarlcap/tbarrcap). Because pre-Ursula Wimps filled in the title bar regardless, this may not have shown up in the past. The Wimp now has an additional check: if there is a gap between the title bar sprites, then it always fills in the title bar background before plotting the sprites. Error box buttons: the "illuminated" side of the 3D plinths have always been white, so they were getting lost against the white Lazarus UI background. Used Ursula Wimp icon colour validation string extension to colour the borders a uniform grey. Admin: Tested on a desktop machine, soft-loading the Lazarus Wimp resources. Fixes faults 1115 and 1121. Version 4.35. Tagged as 'Wimp-4_35'
-
- 04 Aug, 1999 1 commit
-
-
Ben Avison authored
Doing all of recalcmodevars on Service_ModeChanging turns out to be a Bad Idea because some of the Wimp's copies of VDU variables end up out-of-date. Now only the parts pertaining to command windows are done on Service_ModeChanging (for that was the bit we were having trouble with), and the rest is back on Service_ModeChange. Version 4.24. Tagged as 'Wimp-4_24'
-
- 03 Aug, 1999 1 commit
-
-
Ben Avison authored
(this was clashing with the Interlace module at one point during STB development, and had the potential to trip us up again in the future). No longer produces build errors if some resources are absent. Corrected token in Japan messages file to use valid UTF-8 character. Service call table now included by default. Version 4.23. Tagged as 'Wimp-4_23'
-
- 29 Apr, 1999 1 commit
-
-
Kevin Bracey authored
Version 4.19. Tagged as 'Wimp-4_19'
-
- 25 Mar, 1999 1 commit
-
-
Simon Middleton authored
Removed the code that restores the original pointer shape when leaving an error box (NCErrorBox conditional in Wimp07:finisherror). This option is no longer necessary now that the Wimp_Extend support ensures that the pointer appears and disappears as the user expects. Version 4.17. Tagged as 'Wimp-4_17'
-
- 09 Dec, 1998 1 commit
-
-
Ben Avison authored
Bugfix: if a >=256-colour sprite icon is plotted, and then a shaded and/or selected text-plus-sprite icon is plotted, where the sprite in the latter icon is unspecified (no validation string, or no 'S' command), then a SpriteOp call from within ColourTrans data aborts. This caused aborts when certain rectangles of the ImageFS options window were redrawn. Version 4.13. Not tagged
-
- 27 Nov, 1998 1 commit
-
-
Ben Avison authored
* If pointer was hidden-until-next-mouse-move, the act of confining the mouse to the error box window no longer causes it to be redisplayed. * In error boxes, the pointer and the IconHigh highlight are now initially positioned over the rightmost (default) button. There is one exception to this rule: when "Next task" is clicked in a Watchdog window, the pointer stays over the "Next task" button. Version 4.13. Tagged as 'Wimp-4_13'
-
- 26 Nov, 1998 1 commit
-
-
Ben Avison authored
builds: now behaves like desktop builds (only detects button-down events). * When mouse pointer is hidden following Wimp_Extend 12, changes of mouse button state will no longer cause the pointer to be reinstated. Version 4.12. Tagged as 'Wimp-4_12'
-
- 09 Nov, 1998 1 commit
-
-
Ben Avison authored
Optimisation to new WimpSymbol substitution code: in icons containing fonts other than the desktop font, the substitution table is only calculated when a symbol character is encountered. Embryonic cut-n-paste support introduced (currently in desktop builds only): * workspace is allocated and initialised; * extended Wimp_GetCaretPosition implemented; * pushfontstring adapted to allow insertion of arbitrary control sequences in font strings (to allow selected text to be plotted in inverted colours). Inverted, unfilled text icons now work properly again in <256-colour modes. Reworked NC error box code: see Doc.IconHigh. Version 4.11. Tagged as 'Wimp-4_11'
-
- 29 Oct, 1998 1 commit
-
-
Ben Avison authored
* Deprecated Font SWIs no longer used * Height of UTF-8 strings now calculated correctly * Fancy fonts in icons are now aligned the same as outline desktop-font icons * Text rubout boxes for icons with text above the sprite are correctly sized Lazy WimpSymbol subsitution implemented: characters are only substituted if they are not already present in the font. For the first time, substitution now works in UTF-8 text - but for the proper Unicode positions of the relevant symbols, instead of usurping undefined positions (as in other alphabets). Version 4.10. Tagged as 'Wimp-4_10'
-
- 23 Oct, 1998 1 commit
-
-
Ben Avison authored
Adapted assembly process so that the choice of Options file (previously based purely on the "System" variable) can be overridden by passing "OPTIONS=foo" as an argument to either MkRom, or to amu/amu_machine directly, or indirectly, by specifying it in the components file for a build. To accomplish this, it was necessary to switch from using aasm to objasm - hence the large number of source files affected in this commit. Version 4.09. Tagged as 'Wimp-4_09'
-
- 22 Oct, 1998 1 commit
-
-
Ben Avison authored
Bugfix: the opening-windows list could get corrupted if int_flush_opens was called while a command window was active - but only if autoscrolling of windows was compiled in. In practice, this meant that OmniClient often hung desktop machines. Version 4.08. Tagged as 'Wimp-4_08'
-
- 21 Oct, 1998 1 commit
-
-
Ben Avison authored
Service_SwitchingOutputToSprite code optimised: graphics parameters are now only cached when making the first Wimp_PlotIcon call while output is switched to a sprite, and upon return to screen output after such an occurrence. All error box templates featuring "border" icons updated to have button type 0 (never). This prevents IconHigh from mistakenly allowing them to be selected. Version 4.07. Tagged as 'Wimp-4_07'
-
- 20 Oct, 1998 1 commit
-
-
Ben Avison authored
UTF-8 support from previous version switched in; additional alphabet- conditional support added as follows: * Correctly converts character index returned from Font_FindCaret into byte index into raw string. * Left-arrow, right-arrow, delete-left and delete-right now act as far as the next character boundary, instead of to the next byte. * Menu item text justification works again (it relies on overwriting spaces with hard space characters, which are two-byte characters in UTF-8). * General key handling code has been rewritten. The Wimp now has three internal key input buffers - one each for taking keyboard-generated, task-generated, and function-key-generated strings. Each input buffer is processed in chunks of one character, rather than one byte; malformed UTF-8 characters are rejected, so tasks don't have to worry about them (simplifying their character-handling code). There is also a key output buffer, to ensure that (UTF-8) sequences of Key_Pressed events are not broken up. * As a result of the above, multiple calls to Wimp_ProcessKey are now possible between calls to Wimp_Poll. Previously, this resulted in bytes getting jumbled up - making it useless for input of UTF-8 characters. * Multi-byte characters are inserted into writeable icons in one go, so you don't see a brief flicker of the "malformed character" symbol while the initial bytes are being inserted. * Multi-byte characters that don't entirely fit in a writeable icon buffer are not inserted at all. * A new validation string command ("U") can limit the contents of a writeable by number of characters, instead of bytes. This will hide the character sizes from the user interface. * Allowable characters (validation string command "A") now works on Unicode characters and character ranges. * Various other minor bugs are fixed (Wimp_ProcessKey 13 can activate a writeable menu item, Shift-arrow keys are always consistent in firing off Key_Pressed events, etc.) * Password icons supported: one symbol is displayed for each character (instead of for each byte); the display character (validation string command "D") can be any UTF-8 character; correctly displays the caret after set-caret-by-index calls, even though characters in the processed string are different width to those in the raw string, in password icons. Other changes: * The border around NC-style error boxes is resized when the error window is grown or shrunk. * Messages, CmdHelp and Template files made consistent across resource directories, including support for all Ursula features. * ShrinkableAreas turned back on in System=RCA builds. * User interface features of desktop OS builds standardised. Version 4.06. Tagged as 'Wimp-4_06'
-
- 07 Oct, 1998 1 commit
-
-
Steve Cormie authored
Version 4.02. Tagged as 'Wimp-4_02'
-
- 30 Sep, 1998 2 commits
-
-
Kevin Bracey authored
-
Kevin Bracey authored
Changed to use srccommit. All conditionals on "Version" removed. Version 4.01. Tagged as 'Wimp-4_01'
-
- 18 Sep, 1998 1 commit
-
-
Ben Avison authored
-
- 20 Jun, 1997 1 commit
-
-
Neil Turton authored
-
- 16 May, 1997 1 commit
-
-
Kevin Bracey authored
-
- 07 May, 1997 1 commit
-
-
Kevin Bracey authored
Made options files specify any text wanted after the module version number. Auto-fronting iconbar now returns to previous position rather than back, so it interacts with Shift+F12 better.
-