Commit 4cf703e1 authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Make Wimp NoUnaligned-safe

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'
parent a60ad784
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.06"
Module_Version SETA 506
Module_MajorVersion SETS "5.07"
Module_Version SETA 507
Module_MinorVersion SETS ""
Module_Date SETS "01 Oct 2009"
Module_ApplicationDate SETS "01-Oct-09"
Module_Date SETS "06 Nov 2009"
Module_ApplicationDate SETS "06-Nov-09"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "5.06"
Module_HelpVersion SETS "5.06 (01 Oct 2009)"
Module_FullVersion SETS "5.07"
Module_HelpVersion SETS "5.07 (06 Nov 2009)"
END
/* (5.06)
/* (5.07)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.06
#define Module_MajorVersion_CMHG 5.07
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 01 Oct 2009
#define Module_Date_CMHG 06 Nov 2009
#define Module_MajorVersion "5.06"
#define Module_Version 506
#define Module_MajorVersion "5.07"
#define Module_Version 507
#define Module_MinorVersion ""
#define Module_Date "01 Oct 2009"
#define Module_Date "06 Nov 2009"
#define Module_ApplicationDate "01-Oct-09"
#define Module_ApplicationDate "06-Nov-09"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "5.06"
#define Module_HelpVersion "5.06 (01 Oct 2009)"
#define Module_LibraryVersionInfo "5:6"
#define Module_FullVersion "5.07"
#define Module_HelpVersion "5.07 (06 Nov 2009)"
#define Module_LibraryVersionInfo "5:7"
......@@ -1630,8 +1630,9 @@ leaving
MOV R8,R14 ; old handle
LDR R9,ptrtask ; old task
LDR R14,[wsptr,R9] ; Check if old task is dead
TST R14,#task_unused ; If so, just return 'entering window'
CMP R9,#nullptr
LDRNE R14,[wsptr,R9] ; Check if old task is dead
TSTNE R14,#task_unused ; If so, just return 'entering window'
BEQ %FT01
CMP R3,#nullptr ; Unless new window is null !!
BNE entering ;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment