Page 1 of 2

System progs preventing WB screenmode change.

Posted: Fri Jul 17, 2015 11:48 pm
by xenic
After reading mritter's topic "Cx locks WB" I wondered if any system programs block WB screenmode changes and here is what I found:

System programs that prevent a Workbench screenmode change until their windows are closed:

SYS:System/Format
SYS:System/Media ToolBox
SYS:System/Mounter
SYS:Prefs/Picasso96Mode
SYS:Prefs/ScreenBlanker
SYS:Prefs/Updates
SYS:Internet/Edit Connection
SYS:Internet/New Connection
Sys:Utilities/PlayCD
Sys:Utilities/SGrab/Sgrab

System programs that prevent a Workbench screenmode change and cause the Workbench "close windows" requester to continuously close and reopen at least several times. In some cases a screenmode change isn't possible after the window is closed and occasionally made my system unstable:

SYS:Utilities/FileCompare
SYS:Utilities/KeyShow
SYS:Utilities/USBInspector

Can someone confirm the above problems and report them in the OS4 bugzilla??

Re: System progs preventing WB screenmode change.

Posted: Sun Jul 19, 2015 11:47 am
by Amigo1
I can confirm your findings. But I'm no beta tester and can't submit a buzzkill a.

Re: System progs preventing WB screenmode change.

Posted: Sun Jul 19, 2015 2:40 pm
by tonyw
To fix the problem, the program must be updated to support iconification and un-iconification. Workbench sends an "Iconify" command to each open window, then, after redrawing the screen, sends an "un-iconify" command to each window again to reopen it.

Some of those programs are really old and from a time when iconify was not heard of. It's not a trivial matter to modify them. A case in point: I took a look at PlayCD some years ago when I added the ability to play through AHI. The GUI code is so old that I'm not prepared to touch it.

Re: System progs preventing WB screenmode change.

Posted: Sun Jul 19, 2015 6:54 pm
by xenic
tonyw wrote:To fix the problem, the program must be updated to support iconification and un-iconification. Workbench sends an "Iconify" command to each open window, then, after redrawing the screen, sends an "un-iconify" command to each window again to reopen it.
I searched the Workbench autodoc and includes for a command, tag or define related to an "iconify" or "uniconify" command and was unable to identify anything related to such commands. Could you be more specific about those commands (mesage type, flags etc.) so other programmers can react to them in their programs??
Some of those programs are really old and from a time when iconify was not heard of. It's not a trivial matter to modify them. A case in point: I took a look at PlayCD some years ago when I added the ability to play through AHI. The GUI code is so old that I'm not prepared to touch it.
I don't think SYS:Utilities/FileCompare, SYS:Utilities/USBInspector or SYS:Prefs/Updates are old programs.

Re: System progs preventing WB screenmode change.

Posted: Sun Jul 19, 2015 9:06 pm
by thomasrapp
A program has to register with Intiution's StartScreenNotify function before it receives any such message.

Re: System progs preventing WB screenmode change.

Posted: Mon Jul 20, 2015 1:36 am
by tonyw
I searched the Workbench autodoc and includes for a command, tag or define related to an "iconify" or "uniconify" command and was unable to identify anything related to such commands.
Wrong place. The window class sends WMHI_ICONIFY and WMHI_UNICONIFY messages to the program through the window's message port. In your program, you have to listen for WMHI_xxx messages. See include/include_h/classes/window.h.
I don't think SYS:Utilities/FileCompare, SYS:Utilities/USBInspector or SYS:Prefs/Updates are old programs.
No, but they support Iconify properly. There is something else wrong there.
BTW, I have never had a problem iconifying FileCompare. I do it frequently when chasing bugs. I don't use the others very often.

Re: System progs preventing WB screenmode change.

Posted: Mon Jul 20, 2015 7:47 pm
by xenic
tonyw wrote: Wrong place. The window class sends WMHI_ICONIFY and WMHI_UNICONIFY messages to the program through the window's message port. In your program, you have to listen for WMHI_xxx messages. See include/include_h/classes/window.h.
O.K. Window class simplifies program iconification in response to WorkBench close/reopen. I work on some older programs (ported from OS3) and thomasrapp's suggestion probably applies better to fixing old programs.
No, but they support Iconify properly. There is something else wrong there.
BTW, I have never had a problem iconifying FileCompare. I do it frequently when chasing bugs. I don't use the others very often.
FileCompare will iconify if you click the iconify gadget but it doesn't iconify or close it's window automatically when WorkBench changes screenmodes and needs to close and reopen. Most system programs close their windows automatically when you make a WorkBench screenmode change. FileCompare is worse than programs that do nothing at all when WorkBench needs to close. When the FileCompare window is open when you attempt a WorkBench screenmode change, WorkBench throws up the "close windows" requester and closes it immediately and then does the same repeatedly. On my X1000, I can't even click the cancel gadget in the requester until it finally stops repeating the open/close of the requester.

Re: System progs preventing WB screenmode change.

Posted: Mon Jul 20, 2015 7:59 pm
by xenic
@all
The maximum value of any excuse is zero. It's extremely discouraging when one reports a real verifiable problem in an effort to get verification that the problem is added to the OS4 bugzilla but fail.

Re: System progs preventing WB screenmode change.

Posted: Mon Jul 20, 2015 10:18 pm
by mritter0
WB doesn't send iconify and uniconify messages. It sends SNOTIFY_BEFORE_CLOSEWB and SNOTIFY_AFTER_OPENWB through IIntuition->StartScreenNotifyTags() system.

Re: System progs preventing WB screenmode change.

Posted: Tue Jul 21, 2015 3:10 am
by tonyw
Added BZ for filecompare: #9248.