2021-07-31 08:10 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005255WHDLoad[All Projects] Generalpublic2021-06-24 13:31
ReporterPaul Head 
Assigned ToWeplProject InfoHD-Installer for OS-Killer
http://whdload.de/
 
PrioritynormalSeverityminorReproducibilityalways
StatusassignedResolutionopen 
Product Version18.7beta 
Target VersionFixed in Version 
Summary0005255: Error requester button positioning and CoreDumps issue
Description----------------------------------
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.
MachineUAE
CPU68020
CPUSpeed14
ChipSetAGA
GFXCardNone
ChipMem2 MB
FastMem8 MB
WorkbenchOS 3.0
KickROM39 - Kick 3.0
KickSoftNone
WHDLoad18.7beta
Attached Files

-Relationships
+Relationships

-Notes

note ~0010405

Paul Head (reporter)

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.

note ~0010406

Paul Head (reporter)

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.

note ~0010413

Wepl (manager)

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.

note ~0010415

Paul Head (reporter)

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.

note ~0010418

Wepl (manager)

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.

note ~0010422

Paul Head (reporter)

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.

note ~0010423

Paul Head (reporter)

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!

note ~0010424

Paul Head (reporter)

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" :)

note ~0010427

Paul Head (reporter)

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.

note ~0010428

Wepl (manager)

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.
+Notes

-Issue History
Date Modified Username Field Change
2021-06-10 22:03 Paul Head New Issue
2021-06-11 12:05 Paul Head Note Added: 0010405
2021-06-11 12:30 Paul Head Note Added: 0010406
2021-06-14 00:33 Wepl Assigned To => Wepl
2021-06-14 00:33 Wepl Status new => assigned
2021-06-19 16:56 Wepl Note Added: 0010413
2021-06-20 14:02 Paul Head Note Added: 0010415
2021-06-21 21:54 Wepl Note Added: 0010418
2021-06-22 13:27 Paul Head Note Added: 0010422
2021-06-22 13:49 Paul Head Note Added: 0010423
2021-06-22 14:03 Paul Head Note Added: 0010424
2021-06-24 12:36 Paul Head Note Added: 0010427
2021-06-24 13:31 Wepl Note Added: 0010428
+Issue History