Commit 6fb60dbf authored by Ben Avison's avatar Ben Avison
Browse files

Minor fixes, some of which have been waiting to be committed for a while.

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'
parent 604d85c3
......@@ -11,14 +11,14 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "4.66"
Module_Version SETA 466
Module_MajorVersion SETS "4.67"
Module_Version SETA 467
Module_MinorVersion SETS ""
Module_Date SETS "25 May 2001"
Module_ApplicationDate2 SETS "25-May-01"
Module_ApplicationDate4 SETS "25-May-2001"
Module_Date SETS "29 May 2001"
Module_ApplicationDate2 SETS "29-May-01"
Module_ApplicationDate4 SETS "29-May-2001"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "4.66"
Module_HelpVersion SETS "4.66 (25 May 2001)"
Module_FullVersion SETS "4.67"
Module_HelpVersion SETS "4.67 (29 May 2001)"
END
/* (4.66)
/* (4.67)
*
* This file is automatically maintained by srccommit, do not edit manually.
*
*/
#define Module_MajorVersion_CMHG 4.66
#define Module_MajorVersion_CMHG 4.67
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 25 May 2001
#define Module_Date_CMHG 29 May 2001
#define Module_MajorVersion "4.66"
#define Module_Version 466
#define Module_MajorVersion "4.67"
#define Module_Version 467
#define Module_MinorVersion ""
#define Module_Date "25 May 2001"
#define Module_Date "29 May 2001"
#define Module_ApplicationDate2 "25-May-01"
#define Module_ApplicationDate4 "25-May-2001"
#define Module_ApplicationDate2 "29-May-01"
#define Module_ApplicationDate4 "29-May-2001"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "4.66"
#define Module_HelpVersion "4.66 (25 May 2001)"
#define Module_FullVersion "4.67"
#define Module_HelpVersion "4.67 (29 May 2001)"
......@@ -1417,7 +1417,7 @@ maxtaskhandle * :INDEX:@
PollTasks # maxtasks * 4 ; Packed list of tasks with pollwords
errorbuffer # 256 ; used by error handler
taskbuffer # 256 ; command which starts a task
taskbuffer # 1024 ; command which starts a task
errordynamic * errorbuffer+4 ; put these after stashed PC
errordynamicsize * ?errorbuffer-4
......
......@@ -81,8 +81,9 @@ markinitialised
BLT %FT01 ; ignore the messages if not a valid task
CMP R3,#0 ; is the handle valid?
STRLE R3,[R2,#task_messages]
BLGT addmessages ; add messages as required
CMPNE R3,#nullptr
STREQ R3,[R2,#task_messages]
BLNE addmessages ; add messages as required
01
[ Swapping ; Things to be done only if swapping is enabled.
ADRL R1,swapping
......
......@@ -2089,9 +2089,12 @@ starterrorbox
MOV R3,#buttontextsize
BL LookupToken
STR R2,[R1,#i_data+i_size*4]
CMP R6,#nullptr
MOVNE R4,R6
MOVS R4,R6
CMPNE R4,#nullptr
ADREQ R4,noprogapp
LDRB R14,[R4]
TEQ R14,#"\\"
ADDEQ R4,R4,#1
ADRL R2,watchdogerrtxt
MOV R3,#?watchdogerrtxt
ADR R0,errorptoken
......@@ -2256,17 +2259,18 @@ starterrorbox_draw
Push "R2-R5"
;
CMP R2,#0 ; do they want an application name?
ADRLEL R0,errorprefix1
BICLE R1,R1,#erf_omiterror
ADRGTL R0,errorprefix2 ; -> suitable token
CMPNE R2,#nullptr
ADREQL R0,errorprefix1
BICEQ R1,R1,#erf_omiterror
ADRNEL R0,errorprefix2 ; -> suitable token
TST R1,#erf_omiterror
ADRNEL R0,errorprefix ; include prefixing message?
MOV R5,#0
MOVS R4,R2 ; parameter for the title string
CMP R4,#0
BLE %FT01
CMPNE R4,#nullptr
BEQ %FT01
LDRB R14,[R4]
TEQ R14,#"\\"
ADDEQ R4,R4,#1
......@@ -2368,10 +2372,11 @@ oldappsprite2
ADD R14,R14,#i_data+i_size
Push "R1,R2"
CMP R2,#1
ADRLT R2,noappname
MOVLT R1,#11
BLT oldapploop
CMP R2,#0
CMPNE R2,#nullptr
ADREQ R2,noappname
MOVEQ R1,#11
BEQ oldapploop
; is [R2] <= a space ?
LDRB R0,[R2]
......
......@@ -690,7 +690,8 @@ SWIWimp_RemoveMessages
Debug msgsel,"Wimp_RemoveMessages: list at =",R0
MOVS R3,R0 ; is there a messages list?
BLE ExitWimp ; exit if there is no list currently defined
CMPNE R3,#nullptr
BEQ ExitWimp ; exit if there is no list currently defined
LDR R4,taskhandle
......
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