[Cuis-dev] Question re: recent updates (4342)

Juan Vuletich juan at jvuletich.org
Fri Aug 21 05:59:56 PDT 2020


On 8/19/2020 11:50 PM, Phil B via Cuis-dev wrote:
> OK, I think I see the problem: it looks like this is a new vector 
> (i.e. this did not occur previously) for background processes to cause 
> problems.  Unfortunately your fix didn't resolve the issue because, 
> like so many other of these background process issues, it's only nil 
> momentarily (i.e. the exact instant the code is looking at it, 
> probably until the next process switch.  I usually come to this 
> realization the same way every time: put a nil check in which doesn't 
> work because it's not nil at the time of the test but is nil a couple 
> of statements later which should be impossible... ahhh:  background 
> process!) and by the time you get to a debugger it's no longer nil.  
> I'll have to take a closer look at the recent changes to see if this 
> issue can be worked around or if I need to redesign things on my end.  
> So for now, I'd say you can take out that nil check if you want since 
> it doesn't help in this situation.

The nil check doesn't hurt and replaces the check for #visible. I think 
it is ok.

But Morphic isn't and never was thread safe. See senders of 
#whenUIinSafeState:

I suggest you redesign any code that modifies state in morphs, so that 
all setters are sent from the morphic process. All code in the base 
image does it that way.

Cheers,

-- 
Juan Vuletich
www.cuis-smalltalk.org
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
https://github.com/jvuletich
https://www.linkedin.com/in/juan-vuletich-75611b3
@JuanVuletich



More information about the Cuis-dev mailing list