Caret Handling when Closing Menus
Pages: 1 2
David Pitt (3386) 1248 posts |
The fix is still becalmed in git. A coding suggestion has been made but not taken up by the developer. That suggestion has been applied here, this is the diff. --- ADFS::ROOL.$.ROOL.TiDev.Titanium.RiscOS.Sources.Desktop.Wimp.s.CnPCaret00 2021-11-17 14:49:07.0 +0000 +++ ADFS::ROOL.$.ROOL.TiDev.Titanium.RiscOS.Sources.Desktop.Wimp.s.CnPCaret 2021-11-17 14:49:07.0 +0000 @@ -507,7 +507,15 @@ CMPNE R0,#nullptr - Abs R10,R10,NE - MOVNE R1,#0 - MOVNE R2,#0 - BLNE int_set_icon_state - + BEQ %FT02 ; nothing to redraw + Abs R10,R10 + MOV R1,#0 + MOV R2,#0 + LDR R14,[R10,#w_taskhandle] + CMP R14,#-1 ; owned by a menu? + LDREQ R14,menutaskhandle + CMPEQ R14,#-4 ; if it's -4 the menu is being deleted, so don't try to redraw + BEQ %FT02 +01 + Task R14,,"SetCaret" + BL int_set_icon_state +02 ; and return HTH. |
Matthew Phillips (473) 721 posts |
It’s a shame it’s taking a while to be merged: it was so impressive getting a really quick fix when I reported the problem. The latest RiscOSM includes a work-around to avoid triggering the bug on Wimps that have this issue. |
David Pitt (3386) 1248 posts |
The fix has now been merged as WindowManager 5.84 in OS5.29 ROM builds from 30Dec21. |
Pages: 1 2