WHDLoad MantisBT - WHDLoad
View Issue Details
0005255WHDLoad[All Projects] Generalpublic2021-06-10 22:032023-10-14 23:27
ReporterPaul Head 
Assigned ToWepl 
StatusclosedResolutionno change required 
PlatformOSOS Version
Product Version18.7beta 
Target VersionFixed in Version 
ChipMem2 MB
FastMem8 MB
WorkbenchOS 3.0
KickROM39 - Kick 3.0
Summary0005255: Error requester button positioning and CoreDumps issue
Exception "Address Error" (xxxxxx)
at xxxxxxxxxxxxx occured.

Quit Restart Make CoreDump

Is it buy design that the Quit is on the left hand side? It seems okay for intuition requesters but under reqtools it works a bit weird as the Escape key doesn't cancel the requester but actually Makes a CoreDump. Also the shortcut keys for Yes and No are reversed as R-Amiga N makes the CoreDump and R-Amiga Y cancels the CoreDump. Also, 'occured' is spelt wrong as it should be 'occurred'.

Secondly, there is a weird behavior with TinyLauncher. If I remove reqtools.library from libs: and run a slave which causes that error above (sorry, haven't tried with other errors) then when the error requester should pop up (an intuition one not reqtools) it doesn't, but instead whdload gets stuck in an infinite loop creating CoreDumps (monitored with SnoopDos) and it never returns to the TinyLauncher screen. I do realise that this may be a TinyLauncher issue, but I do find it odd indeed.
Steps To ReproduceSee Description.
TagsNo tags attached.
Attached Files

Paul Head   
2021-06-11 12:05   
Upon further reflection, that first part about the requester is just one of the oddities of reqtools and usual Amiga layout where Cancel is on the right and anything else on the left. Programmers always want the 'most usual answer' button on the left. I blame reqtools for using the escape key and R-Amiga Y/N, although N.F. himself would probably argue that it's up to the programmer to make sure escape and Y and No correspond to the correct position of left or right!

As for the other issue, it still stands. It's strange because TinyLauncher knows nothing of reqtools and should behave the same way without it in regard to WHDLoad.
Paul Head   
2021-06-11 12:30   
I'm still in two minds regarding the button positioning! The right most button will always be triggered by the Escape key in reqtools which seems correct to get out of the requester without doing anything...should be Quit there. If you did move it to the right, could the default bold option still be with the Quit key so that pressing return would still cancel the requester? It's strange and I wouldn't blame you for just leaving it be.
2021-06-19 16:56   
Quit is on the left because it is the default.
There is no 'No' in this requester.
Maybe the layout chosen is not so good.
But there are errors which cause the requester to not contain 'Restart'. Otherwise maybe 'Restart' could be Yes and 'Quit' could be No.
Reqtools seems to be fixed for a Yes/No requester. But I need a requester to select an option with one default.
I checked reqtools api, it only allows to disable Return.
Paul Head   
2021-06-20 14:02   
The reqtools api is slightly amusing then as the disabling of the Escape key would have been more sensible I believe. Well, I suppose the default option is in bold anyway (Quit) and the Return key works to quit it so that's it, you'd better leave it alone and forget I mentioned it. :) Of course, there's always the F-keys which correspond to the button positions - providing the user has a reqtools prefs file with the F-keys activated.
2021-06-21 21:54   
Regarding the TinyLauncher problem: I assume it disables all requester via proc->pr_WindowPtr=-1. It may cause to return the last choice which is CoreDump.
You or TinyLauncher could use option NoReq to circumvent this. Although I think better would be to let WHDLoad show his requester.
Paul Head   
2021-06-22 13:27   
My thought about the reqtools is that there should be an option to disable the Escape key as well as the Return key. I don't know why they decided on one without the other.
TinyLauncher is programmed in Amos, and from my limited fiddling this morning Amos appears to intercept requesters and bring them up on its own screen BUT with only a -1 (left most button) or a 0 (middle or right buttons) returned. I'm going to email the author of TinyLauncher and tell him to test his program without reqtools.library and see if he can replicate the fault and then perhaps find the problem and fix it.

I know about NoReq, but I have an issue with it at the moment which I'm still trying to decide on how to tackle in the best way.
Paul Head   
2021-06-22 13:49   
It's just occurred to be that when a game launched from TinyLauncher ends (through quit or error) TinyLauncher actually quickly reverts to the Workbench screen and then quickly back to the Amos screen...this is how it prevents the requesters being intercepted by Amos! Question is, why is the Intuition only requester cocking up?
I edited one of the games to have the wrong slave filename in the .info file so you get an error code #205 saying it can't find the slave. This message comes up as expected when reqtools is being used, but when it's not (reqtools.library not in Libs) then it doesn't display the requester but quickly goes back to the Amos (TinyLauncher) screen. Very strange!
Paul Head   
2021-06-22 14:03   
My thought now is that TinyLauncher is answering Intuition requesters (but why?), but doesn't touch the Reqtools ones. Definitely a TinyLauncher problem.
A simple fix for TinyLauncher would be a readme amendment "Requires reqtools.library" :)
Paul Head   
2021-06-24 12:36   
Amos can't detect true reqtools requesters it seems, which would explain why it leaves your reqtools requester alone (waits for the whdload process to finish by the selecting of Quit or CoreDump) but appears to interecept the intuition one. I emailed the author of TinyLauncher yesterday btw.
2021-06-24 13:31   
I think if TinyLauncher starts WHDLoad via CLI it should use NoReq and capture/display the output itself. Or allow also the intuition requesters to get displayed.
Paul Head   
2021-09-07 15:34   
I've managed to get through to Michael (TinyLancher author) within past few days. Hopefully he'll read this and see the issue with his program.

Just to step back a bit to those requester button positionings, it's clearly labelled in bold for the default option when hitting the return key ('Quit'), so just ignore me and don't implement any changes here as it's been this way for years and everyone will be used to it this way. Thanks for hearing me out though on my little 'reqtools rant'. :P

Issue History
2021-06-10 22:03Paul HeadNew Issue
2021-06-11 12:05Paul HeadNote Added: 0010405
2021-06-11 12:30Paul HeadNote Added: 0010406
2021-06-14 00:33WeplAssigned To => Wepl
2021-06-14 00:33WeplStatusnew => assigned
2021-06-19 16:56WeplNote Added: 0010413
2021-06-20 14:02Paul HeadNote Added: 0010415
2021-06-21 21:54WeplNote Added: 0010418
2021-06-22 13:27Paul HeadNote Added: 0010422
2021-06-22 13:49Paul HeadNote Added: 0010423
2021-06-22 14:03Paul HeadNote Added: 0010424
2021-06-24 12:36Paul HeadNote Added: 0010427
2021-06-24 13:31WeplNote Added: 0010428
2021-09-07 15:34Paul HeadNote Added: 0010708
2022-01-15 23:17WeplStatusassigned => resolved
2022-01-15 23:17WeplResolutionopen => no change required
2023-10-14 23:27WeplStatusresolved => closed