Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1715.mcz
==================== Summary ====================
Name: Morphic-mt.1715 Author: mt Time: 12 January 2021, 2:04:07.252356 pm UUID: 2641645d-9048-f44f-b6ea-2cd85e2c7ff0 Ancestors: Morphic-mt.1714
Fixes the issue where a dialog with flexible contents was not fully visible in small worlds. Thanks to Chris (cbc) for pointing this out!
(Note that I think that we need a better way for this combination of #fullBounds, #extent:, and #translatedToBeWithin: to make sure that a morph is visible in the world. May be also useful for other windows. Not sure about this variation with #center: though.)
=============== Diff against Morphic-mt.1714 ===============
Item was changed: ----- Method: DialogWindow>>moveToHand (in category 'position') ----- moveToHand
+ self moveToHand: self currentHand.! - self moveToHand: self activeHand.!
Item was changed: ----- Method: DialogWindow>>moveToPreferredPosition (in category 'initialization') ----- moveToPreferredPosition + "Moves the dialog window to its preferred position, which can be a point on the screen or a named widget in the dialog's central pane. Ensure that the dialog is fully visible in the world. Also see #positionOverWidgetNamed:." + + | visibleArea decorationOffset | + self fullBounds. "Compute new layout to have updated bounds." + visibleArea := self currentWorld visibleClearArea. + decorationOffset := self extent - self paneMorph extent. + self paneMorph extent: + (self paneMorph extent min: visibleArea extent - decorationOffset). + self fullBounds. "Compute new layout to have updated bounds." self center: (preferredPosition isPoint ifTrue: [ preferredPosition ] ifFalse: [ self center + self currentHand position - preferredPosition center ]). + self bounds: + (self bounds translatedToBeWithin: visibleArea).! - self bounds: (self bounds translatedToBeWithin: self currentWorld visibleClearArea)!
packages@lists.squeakfoundation.org