Jerome Peace peace_the_dreamer at
Tue Nov 13 06:18:46 UTC 2007


Hi Trygve and Karl,

This would be a good issue to make a mantis report.
It's clearly something that needs to be tracked. 

I've looked at the system window internals. I bet that
some serious study will need to be made before a
stable repair can be made. So a mantis report would be
a good place to collect analysis and repair attempts.

It would also be good to have a user story. What would
be a simple description of the way it should behave?

Yours in curiosity and service, --Jerome Peace

>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
>On 12.11.2007 14:02, Karl wrote:
>> Ah, the dreadful SystemWindow internals ;-)
>> SystemWindows>>mouseDown: evt
>>    | outerMorph |
>>    self setProperty: #clickPoint toValue: evt
>>    TopWindow == self ifFalse:
>>        [evt hand releaseKeyboardFocus.
>>        self activate].
>> The top window will not activate if it is the top
>> 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
>>> 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
>>> 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

Be a better sports nut!  Let your teams follow you 
with Yahoo Mobile. Try it now.;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ

More information about the Squeak-dev mailing list