Commit 634ffc34 authored by John Ballance's avatar John Ballance
Browse files

Removemessages entry failed to put rma base in R2..

Detail:
	caused occasional aborts on task quit.
Admin:	castle added IP


Version 4.100. Tagged as 'Wimp-4_100'
parent d8fd38fa
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "4.99"
Module_Version SETA 499
Module_MajorVersion SETS "4.100"
Module_Version SETA 410
Module_MinorVersion SETS ""
Module_Date SETS "17 Jan 2006"
Module_ApplicationDate SETS "17-Jan-06"
Module_Date SETS "22 Feb 2006"
Module_ApplicationDate SETS "22-Feb-06"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "4.99"
Module_HelpVersion SETS "4.99 (17 Jan 2006)"
Module_FullVersion SETS "4.100"
Module_HelpVersion SETS "4.100 (22 Feb 2006)"
END
/* (4.99)
/* (4.100)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.2.
*
*/
#define Module_MajorVersion_CMHG 4.99
#define Module_MajorVersion_CMHG 4.100
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 17 Jan 2006
#define Module_Date_CMHG 22 Feb 2006
#define Module_MajorVersion "4.99"
#define Module_Version 499
#define Module_MajorVersion "4.100"
#define Module_Version 410
#define Module_MinorVersion ""
#define Module_Date "17 Jan 2006"
#define Module_Date "22 Feb 2006"
#define Module_ApplicationDate "17-Jan-06"
#define Module_ApplicationDate "22-Feb-06"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "4.99"
#define Module_HelpVersion "4.99 (17 Jan 2006)"
#define Module_LibraryVersionInfo "4:99"
#define Module_FullVersion "4.100"
#define Module_HelpVersion "4.100 (22 Feb 2006)"
#define Module_LibraryVersionInfo "4:100"
......@@ -747,16 +747,16 @@ removemessages Entry "R1-R2,R4-R8"
LDR R4,[WsPtr,R4] ; -> task block
LDR R5,[R4,#task_messages]
CMP R5,R5,ASR #31 ; are there any messages listed?
LDR R2,[R4,#task_messages]
CMP R2,R2,ASR #31 ; are there any messages listed?
; (or does the task need to continue to receive all messages anyway?)
LDRNE R6,[R4,#task_messagessize]
CMPNE R6,#0
EXIT EQ ; if no messages then return
Debug msgsel,"selective remove list, size =",R5,R6
Debug msgsel,"selective remove list, size =",R2,R6
; R5 -> messages list
; R2 -> messages list
; R6 = size of the list to be scanned
10 MOV R7,#0 ; index into the list
......@@ -773,7 +773,7 @@ removemessages Entry "R1-R2,R4-R8"
20 CMP R7,R6 ; have we reached the end of the list yet?
BGE %BT10 ; loop back as finished scanning
LDR R0,[R5,R7] ; get message we are looking at
LDR R0,[R2,R7] ; get message we are looking at
CMP R0,R8 ; remove this one?
ADDNE R7,R7,#4
BNE %BT20 ; loop back until all checked
......@@ -782,8 +782,8 @@ removemessages Entry "R1-R2,R4-R8"
30 CMP R7,R6 ; have we finished yet?
ADDLT R14,R7,#4
LDRLT R0,[R5,R14]
STRLT R0,[R5,R7] ; copy the next message into the current slot
LDRLT R0,[R2,R14]
STRLT R0,[R2,R7] ; copy the next message into the current slot
ADDLT R7,R7,#4 ; advance the pointer
BLT %BT30 ; loop back until all checked
......
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