Commit 0e7a0844 authored by Andy Vawer's avatar Andy Vawer Committed by ROOL

Ensure caret data valid for Wimp_DragBox 13.

Display caret/selection even if icon type is not 14 or 15.

Version 5.76. Tagged as 'Wimp-5_76'
parent b65bbd21
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
GBLS Module_ApplicationDate GBLS Module_ApplicationDate
GBLS Module_HelpVersion GBLS Module_HelpVersion
GBLS Module_ComponentName GBLS Module_ComponentName
Module_MajorVersion SETS "5.75" Module_MajorVersion SETS "5.76"
Module_Version SETA 575 Module_Version SETA 576
Module_MinorVersion SETS "" Module_MinorVersion SETS ""
Module_Date SETS "23 May 2020" Module_Date SETS "29 Jun 2020"
Module_ApplicationDate SETS "23-May-20" Module_ApplicationDate SETS "29-Jun-20"
Module_ComponentName SETS "Wimp" Module_ComponentName SETS "Wimp"
Module_FullVersion SETS "5.75" Module_FullVersion SETS "5.76"
Module_HelpVersion SETS "5.75 (23 May 2020)" Module_HelpVersion SETS "5.76 (29 Jun 2020)"
END END
/* (5.75) /* (5.76)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* *
*/ */
#define Module_MajorVersion_CMHG 5.75 #define Module_MajorVersion_CMHG 5.76
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 23 May 2020 #define Module_Date_CMHG 29 Jun 2020
#define Module_MajorVersion "5.75" #define Module_MajorVersion "5.76"
#define Module_Version 575 #define Module_Version 576
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "23 May 2020" #define Module_Date "29 Jun 2020"
#define Module_ApplicationDate "23-May-20" #define Module_ApplicationDate "29-Jun-20"
#define Module_ComponentName "Wimp" #define Module_ComponentName "Wimp"
#define Module_FullVersion "5.75" #define Module_FullVersion "5.76"
#define Module_HelpVersion "5.75 (23 May 2020)" #define Module_HelpVersion "5.76 (29 Jun 2020)"
#define Module_LibraryVersionInfo "5:75" #define Module_LibraryVersionInfo "5:76"
...@@ -210,9 +210,15 @@ druilp ...@@ -210,9 +210,15 @@ druilp
ADD y1,y1,cy1 ADD y1,y1,cy1
; ;
[ CnP [ CnP
AND R14,R1,#if_buttontype ; check for writable 15s and 14s ; some applications place a caret in a non-writable icon
; so we need to force the caret to be drawn if this has happened
LDR R14,hascaret
TEQ R14,#0
LDRNE R14,hasselection
TEQNE R14,#0
ANDNE R14,R1,#if_buttontype ; check for writable 15s and 14s
TEQ R14,#ibt_writeable :SHL: ib_buttontype TEQNE R14,#ibt_writeable :SHL: ib_buttontype
TEQNE R14,#ibt_dwritable :SHL: ib_buttontype TEQNE R14,#ibt_dwritable :SHL: ib_buttontype
MOV R14,#0 MOV R14,#0
STRB R14,cnp_buffered STRB R14,cnp_buffered
...@@ -6333,12 +6339,21 @@ nodragging ...@@ -6333,12 +6339,21 @@ nodragging
[ CnP [ CnP
dragbox_icon_select_start dragbox_icon_select_start ROUT
; set pointer bounding box to icon, clipped to visible area ; set pointer bounding box to icon, clipped to visible area
LDR R0,caretdata LDR R10,caretdata+caretwindow
LDR R1,caretdata+careticon LDR R1,caretdata+careticon
Abs handle,R0 ; ensure it's a valid window/icon combo
BL checkhandle
BVC %FT01
CLRV ; we don't want a particular error returned
Pull "PC"
01
LDR R11,[handle,#w_nicons]
CMP R1,R11
Pull "PC",HS ; not a valid icon
LDR R11,[handle,#w_icons] LDR R11,[handle,#w_icons]
ADD R11,R11,R1,LSL #i_shift ADD R11,R11,R1,LSL #i_shift
; icon bounding box is at r11 ; icon bounding box is at r11
......
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