Page 2 of 3

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Tue Jan 20, 2015 9:30 pm
by saimo
Another test: with KingCON iconifying works fine.

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Thu Jan 22, 2015 11:04 pm
by saimo
Problem found: missing SYS:System/Shell.info.

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Fri Jan 23, 2015 9:29 am
by tonyw
Thanks for finding that. Now I'll have to find out whose fault it is if the chain crashes when the icon is missing.

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Fri Jan 23, 2015 6:44 pm
by saimo
You're welcome.

My wild and OS-ignorant guess goes like this...
Since Snoopy reports no attempt at opening the icon when iconification is requested, it looks like the icon is pre-loaded at initialization; such pre-loading is (rightfully) fault-tolerant, but then, when the moment of iconifying comes, a wrong (NULL?) reference is passed to icon.library, which crashes. Or something vaguely along those lines :D

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Fri Jan 23, 2015 11:02 pm
by tonyw
Looking at the console code (pretty old now), I can see that your insight is exactly right. It tries to GetDiskObject("ENVARC:Sys/def_Shell") first, then, if that doesn't work, it tries to GetDiskObject ("SYS:System/Shell").

Whatever it gets (or doesn't) is passed to workbench.library as the icon to use to build the AppIcon when iconifying.

I'll have to take advice on this problem.

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Fri Jan 23, 2015 11:48 pm
by saimo
tonyw wrote:Looking at the console code (pretty old now), I can see that your insight is exactly right. It tries to GetDiskObject("ENVARC:Sys/def_Shell") first, then, if that doesn't work, it tries to GetDiskObject ("SYS:System/Shell").
Ah, good to know! I'll move the icon from SYS:System/ to ENVARC:Sys/, so that I can be unsnapshot, and thus have the icon located at the first free "slot" on the Workbench. Thanks.

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Fri Jan 23, 2015 11:50 pm
by nbache
tonyw wrote:Looking at the console code (pretty old now), I can see that your insight is exactly right. It tries to GetDiskObject("ENVARC:Sys/def_Shell") first, then, if that doesn't work, it tries to GetDiskObject ("SYS:System/Shell").

Whatever it gets (or doesn't) is passed to workbench.library as the icon to use to build the AppIcon when iconifying.

I'll have to take advice on this problem.
I think I have seen some programs default to a (very ugly) old, 1.3 style icon for iconification sometimes. Is there maybe such a thing defined internally somewhere (icon.library? workbench.library? or wherever) which could be used as a last resort?

Just a thought.

Best regards,

Niels

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Sat Jan 24, 2015 12:09 am
by saimo
nbache wrote:I think I have seen some programs default to a (very ugly) old, 1.3 style icon for iconification sometimes. Is there maybe such a thing defined internally somewhere (icon.library? workbench.library? or wherever) which could be used as a last resort?
Definitely. Make (some of) the ENVARC:Sys/def_#?.info icons unaccessible and you'll get old-style (3.0?) icons:

Image

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Sat Jan 24, 2015 12:10 am
by tonyw
There are several suitable "def_xxx" icons in ENVARC:Sys/, not including "def_shell" which the console was also looking for. There are "def_iconify" and "def_kingcon" (shudder). I can test to see if one of these is present, but there is still the possibility that none is present - what then?

Currently trying to find out what I have to do to store a default icon within the code...

BZ #9109.

Re: AOS 4.1 FE bug - the shell crashes when iconified

Posted: Sat Jan 24, 2015 12:30 am
by nbache
tonyw wrote:There are several suitable "def_xxx" icons in ENVARC:Sys/, not including "def_shell" which the console was also looking for. There are "def_iconify" and "def_kingcon" (shudder). I can test to see if one of these is present, but there is still the possibility that none is present - what then?
I agree. The solution is not to "buy more lottery tickets", but to establish a failsafe last resort.

Which is what
Currently trying to find out what I have to do to store a default icon within the code...
- will achieve.

Best regards,

Niels