Hi! I'm _finally_ getting all the parts in place for Scratch on Fedora Linux. It's all working well, but there's one bug I've noticed: when I exit full-screen presentation mode, I get a blank white window which doesn't respond to anything. I'm launching Scratch like this:
squeak -encoding UTF-8 -vm-sound-pulse /usr/share/scratch/Scratch.image
with no -xshm or anything else. This uses the scratch plugin from squeak itself, but I'm getting the same behavior when I build the one in the scratch source too.
I tried the shift-r trick and turned full screen off; when I return from presentation mode, I still get the unresponsive screen (I thought maybe I could get a squeak menu in that case, but no luck).
I asked on the Scratch list, and it was suggested that this was probably a VM problem and that this would be the best place to ask. Anyone have any insight or ideas on how to proceed to debug this?
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
On Tue, Jan 22, 2013 at 3:41 PM, Matthew Miller mattdm@mattdm.org wrote:
Hi! I'm _finally_ getting all the parts in place for Scratch on Fedora Linux. It's all working well, but there's one bug I've noticed: when I exit full-screen presentation mode, I get a blank white window which doesn't respond to anything. I'm launching Scratch like this:
squeak -encoding UTF-8 -vm-sound-pulse /usr/share/scratch/Scratch.image
with no -xshm or anything else. This uses the scratch plugin from squeak itself, but I'm getting the same behavior when I build the one in the scratch source too.
I tried the shift-r trick and turned full screen off; when I return from presentation mode, I still get the unresponsive screen (I thought maybe I could get a squeak menu in that case, but no luck).
I asked on the Scratch list, and it was suggested that this was probably a VM problem and that this would be the best place to ask. Anyone have any insight or ideas on how to proceed to debug this?
-- Matthew Miller mattdm@mattdm.org http://mattdm.org/
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?
vm-dev@lists.squeakfoundation.org