A number of bugfixes.
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'
Showing with 36 additions and 23 deletions