Trygve Reenskaug trygver at
Mon Nov 12 17:34:57 UTC 2007

Thanks Karl. I quickly wrote a hack and observed that it works in at 
least one case....
Haven't the knowledge nor the time to make a firm bug fix proposal.

I replaced 'TopWindow == self ifFalse: ' in the 
SystemWindows>>mouseDown: with:
    ((w := self world) notNil and: [w firstSubmorph == self]) ifFalse:
I have no idea if it is safe to ignore TopWindow here.


On 12.11.2007 14:02, Karl wrote:
> Ah, the dreadful SystemWindow internals ;-)
> SystemWindows>>mouseDown: evt
>    | outerMorph |
>    self setProperty: #clickPoint toValue: evt cursorPoint.
>    TopWindow == self ifFalse:
>        [evt hand releaseKeyboardFocus.
>        self activate].
> The top window will not activate if it is the top window...
> There could be a check to see if it was the front most morph as well I 
> guess.
> Karl
> Trygve Reenskaug wrote:
>> Squeak3.10beta.7143
>> I have a DemoWindow, sco PasteUpMorph.
>> The DemoWindow opens on top.
>> I open a Browser, it masks part of  the DemoWindow.
>> I click the DemoWindow , but have to move it to make it go on top.
>> The browser doesn't go on top if I click inside it, I have to click 
>> its border (move it).
>> I set the demo window option "resist being picked up".
>> It is now hard to make the demo window go on top, so I add the 
>> following method:
>>     DemoWindow >>mouseDown: evt
>>         evt yellowButtonPressed  ifTrue: [^ self 
>> yellowButtonActivity: evt shiftPressed].
>>         self eventHandler ifNotNil: [self eventHandler mouseDown: evt 
>> fromMorph: self].
>>         self comeToFront.
>> Now the DemoWindow goes on top when I click it (as it should).
>> But the only way to make the Browser go on top is to click its border 
>> (move it).
>> I have also tried /'evt hand newKeyboardFocus: self.'/ with the same 
>> result.
>> /'self activate'/ doesn't work on a Morph (but it works on a 
>> SystemWindow)
>> What's happening?
>> Cheers
>> --Trygve
>> PS
>> I have looked at the excellent documentation in '/Squeak by Example/' 
>> SQUEAK MORPH CLASSES/', and '/An Introduction to Morphic: The Squeak 
>> User Interface Framework/' without finding an answer. I have also 
>> tried to google, but have not found anything written by people who 
>> knew what was happening.


Trygve Reenskaug      mailto: trygver at
Morgedalsvn. 5A
N-0378 Oslo           Tel: (+47) 22 49 57 27

More information about the Squeak-dev mailing list