Mantis - Squeak
Viewing Issue Advanced Details
7507 Morphic minor always 04-18-10 23:10 04-18-10 23:10
wiz  
 
normal  
new 4.1  
open  
none    
none  
0007507: openInWorld prevents aligning morphs with World origin
for this one
In a fresh squeak 4.1 (with docking bar)

Morph new extent: Display extent
  ; openInWorld
  ; bounds .

Note that new morph is not aligned with 0 asPoint as the world but offset to the clear area origin.



This is unexpected and unwelcome behavior.

Basically, diego rewrote the method to helpfully avoid opening a morph s.t. it would be overlapped by the dockingbar.

The bug is in the way he did it.

The selector is now taking on responsiblity that does not belong to it. Judging examining the position of the morph and changing it in the limited case that is 0 asPoint.

The solution is to have a #openInClearArea (or #openInWorldClearArea) which takes responsibility at the users request. Rather than just one special case it would constrain the new morph to appear within the clear area bounds.

As currently implemented #openInWorld handles only one special case, and it handles it whether the user wants it to or not. As such it is an egregious patch to something that should remain simple.

It has lead me to write work around code to make the actual alignment happen.

Yours in curiosity and service, --Jerome Peace

There are no notes attached to this issue.