26bit BorderUtil issue
Jon Abbott (1421) 2651 posts |
BorderUtil can generate an Address Exception under RO 3.1×. The problem has been around since day 1 as its a programming issue. The repro in my case is:
BorderUtils then Aborts at the LDR LR,[R1,#w_taskhandle] instruction. BorderUtils is redundant with an updated WindowManager so the issue is its failure to unload or cease functioning once the updated Wimp Module is loaded by !Boot. Possible solutions for PlingSystem:
The workaround is simple enough – just delete BorderUtils from !Boot, but its probable a good idea not to distribute a !SysMerge that’s going to definitely cause problems. I’ll see if I can come up with something sensible to cover option 4. |
Sprow (202) 1158 posts |
Boot already kills off BorderUtils when the Wimp is loaded since as far back as May 2013, but it looks like a copy paste fumble means that on RISC OS 3.10 it’s skipped. Change the line in PreDesktop from to as in hindsight the check on Boot$OSVersion is the wrong test anyway.
|
Jon Abbott (1421) 2651 posts |
PlingSystem doesn’t update PreDesktop and that line wasn’t in mine. As a temp fix I put an Obey in PreDesk to kill it if anything other than WindowManager 3.16 is loaded:
Updating BorderUtils to check the WindowManager version when the Wimp starts is probably a better solution as there’s no external reliance to kill it. |