Commit be7094e5 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Fix for incorrect names on pinned windows

The post increment of R14 when looking for a control/space terminator meant that the search for a leafname started one too far along.
So in the situation where memory contained something like
  <window_title><null><dot><garbage>
the code would pick up the dot and try to use <garbage> as a leafname.
Submission from Fred Graute.
Fix for ticket #244.

Version 5.42. Tagged as 'Wimp-5_42'
parent f0e0f3ad
...@@ -11,13 +11,13 @@ ...@@ -11,13 +11,13 @@
GBLS Module_HelpVersion GBLS Module_HelpVersion
GBLS Module_ComponentName GBLS Module_ComponentName
GBLS Module_ComponentPath GBLS Module_ComponentPath
Module_MajorVersion SETS "5.41" Module_MajorVersion SETS "5.42"
Module_Version SETA 541 Module_Version SETA 542
Module_MinorVersion SETS "" Module_MinorVersion SETS ""
Module_Date SETS "19 Apr 2014" Module_Date SETS "28 May 2014"
Module_ApplicationDate SETS "19-Apr-14" Module_ApplicationDate SETS "28-May-14"
Module_ComponentName SETS "Wimp" Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp" Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "5.41" Module_FullVersion SETS "5.42"
Module_HelpVersion SETS "5.41 (19 Apr 2014)" Module_HelpVersion SETS "5.42 (28 May 2014)"
END END
/* (5.41) /* (5.42)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1. * Last processed by srccommit version: 1.1.
* *
*/ */
#define Module_MajorVersion_CMHG 5.41 #define Module_MajorVersion_CMHG 5.42
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 19 Apr 2014 #define Module_Date_CMHG 28 May 2014
#define Module_MajorVersion "5.41" #define Module_MajorVersion "5.42"
#define Module_Version 541 #define Module_Version 542
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "19 Apr 2014" #define Module_Date "28 May 2014"
#define Module_ApplicationDate "19-Apr-14" #define Module_ApplicationDate "28-May-14"
#define Module_ComponentName "Wimp" #define Module_ComponentName "Wimp"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp" #define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "5.41" #define Module_FullVersion "5.42"
#define Module_HelpVersion "5.41 (19 Apr 2014)" #define Module_HelpVersion "5.42 (28 May 2014)"
#define Module_LibraryVersionInfo "5:41" #define Module_LibraryVersionInfo "5:42"
...@@ -3783,15 +3783,15 @@ sendiconisemessages ...@@ -3783,15 +3783,15 @@ sendiconisemessages
TST R14,#if_indirected TST R14,#if_indirected
LDRNE R2,[R2] ; If indirected get real address LDRNE R2,[R2] ; If indirected get real address
[ true 00 LDRB R3, [R2] ; always skip leading spaces
00 LDRB R3, [R2] ; always skip leading spaces
TEQ R3, #&20 TEQ R3, #&20
ADDEQ R2, R2, #1 ADDEQ R2, R2, #1
BEQ %BT00 BEQ %BT00
]
MOV R14,R2 ; Find first space. MOV R14,R2 ; Find first space or control terminator
01 LDRB R3,[R14],#1 01 LDRB R3,[R14]
CMP R3,#&20 CMP R3,#&20
ADDHI R14,R14,#1
BHI %BT01 BHI %BT01
02 LDRB R3,[R14] ; Go back to last '.' 02 LDRB R3,[R14] ; Go back to last '.'
...@@ -3802,11 +3802,10 @@ sendiconisemessages ...@@ -3802,11 +3802,10 @@ sendiconisemessages
CMP R3,#"." ; Skip '.' CMP R3,#"." ; Skip '.'
ADDEQ R14,R14,#1 ADDEQ R14,R14,#1
[ true
LDRB R3, [R14] LDRB R3, [R14]
CMP R3, #&20 CMP R3, #&20
MOVLS R14, R2 ; if we'd get a null string, then jump back to start MOVLS R14, R2 ; if we'd get a null string, then jump back to start
]
MOV R4,#ms_data+8 MOV R4,#ms_data+8
03 LDRB R3,[R14],#1 03 LDRB R3,[R14],#1
......
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