[Vm-dev] bug leaving Scratch presentation mode with squeak-vm 4.10.2-2614

Matthew Miller mattdm at mattdm.org
Wed Jan 30 22:21:05 UTC 2013

On Tue, Jan 22, 2013 at 08:25:21PM -0500, John McIntosh wrote:
> Matt I dimly recall a bug in the Scratch image code where the
> ioForceDisplayUpdate is not invoked as part of the scratch drawing
> cycle.
> That leads to a white screen in some conditions if the
> ioForceDisplayUpdate *is* needed to update the visual screen.
> You should check the image source against the image found at
> https://github.com/johnmci/Scratch.app.for.iOS
> Also see http://isqueak.org/ioForceDisplayUpdate

So, it turns out that if I try to load the Scratch.image from the iOS app
github, it *just* gives me the non-functional white screen immediately. Not
quite sure what to do with that. 

But I poked around a bit more, and discovered that in exitPresentationMode
(in ScratchFrameMorph under 'view mode'), if I change

   TakeOverScreen ifFalse: [
      Smalltalk fullScreenMode: false.
      World restoreDisplay].

to remove the 'Smalltalk fullScreenMode: false.' line:

   TakeOverScreen ifFalse: [
      World restoreDisplay].

then, exiting the presentation mode takes me to a completely functional but
full screen Scratch environment.

Is it expected that a redraw should be inserted in the middle there, or is
something else going on?

Matthew Miller           mattdm at mattdm.org          <http://mattdm.org/>

More information about the Vm-dev mailing list