[squeak-dev] The Trunk: Morphic-mt.1855.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jan 24 07:26:01 UTC 2022

Marcel Taeumel uploaded a new version of Morphic to project The Trunk:

==================== Summary ====================

Name: Morphic-mt.1855
Author: mt
Time: 24 January 2022, 8:25:51.177617 am
UUID: 0ceb1a28-e81e-2f44-97de-c3221f9f209e
Ancestors: Morphic-mt.1854

Fixes overlapping of menu and docking bar when menu is taller than world.

Thanks to Christph (ct) for the pointer!

=============== Diff against Morphic-mt.1854 ===============

Item was changed:
  ----- Method: MenuMorph>>popUpAdjacentTo:forHand:from: (in category 'control') -----
  popUpAdjacentTo: rightOrLeftPoint forHand: hand from: sourceItem 
  	"Present this menu at the given point under control of the given hand."
  	| tryToPlace selectedOffset rightPoint leftPoint |
  	hand world startSteppingSubmorphsOf: self.
  	popUpOwner := sourceItem.
  	self fullBounds.
  	self updateColor.
  	"ensure layout is current"
  	selectedOffset := (selectedItem
  				ifNil: [self items first]) position - self position.
  	tryToPlace := [:where :mustFit | | delta | 
  			self position: where - selectedOffset.
+ 			delta := self innerBounds amountToTranslateWithin: sourceItem world visibleClearArea.
- 			delta := self boundsInWorld amountToTranslateWithin: sourceItem worldBounds.
  			(delta x = 0
  					or: [mustFit])
  				ifTrue: [delta = (0 @ 0)
  						ifFalse: [self position: self position + delta].
  					sourceItem world addMorphFront: self.
  					^ self]].
  	rightPoint := rightOrLeftPoint first + ((self layoutInset + self borderWidth) @ 0).
  	leftPoint := rightOrLeftPoint last + ((self layoutInset + self borderWidth - self width) @ 0).
  		value: rightPoint value: false;
  		 value: leftPoint value: false;
  		 value: rightPoint value: true.!

More information about the Squeak-dev mailing list