Christoph Thiede uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-ct.2149.mcz
==================== Summary ====================
Name: Morphic-ct.2149 Author: ct Time: 15 December 2023, 9:05:13.027435 pm UUID: 6da47ed2-6cf5-624a-a33b-7fd295919c5c Ancestors: Morphic-ct.2148
Merges and revises with a comment: Morphic-ct.2148: Fixes a remarkable slip that (1) prevented collapsed windows from applying a new UI theme and (2) introduced a possibly significant memory leak*. Note that #userInterfaceTheme answer a UserInterfaceThemeRequest which forwards all one-argument selectors as setters to the actual theme.
=============== Diff against Morphic-mt.2147 ===============
Item was changed: ----- Method: SystemWindow>>collapseOrExpand (in category 'resize/collapse') ----- collapseOrExpand "Collapse or expand the window, depending on existing state" | cf | isCollapsed ifTrue: ["Expand -- restore panes to morphics structure" isCollapsed := false. self beKeyWindow. "Bring to frint first" Preferences collapseWindowsInPlace ifTrue: [fullFrame := fullFrame align: fullFrame topLeft with: self getBoundsWithFlex topLeft] ifFalse: [collapsedFrame := self getBoundsWithFlex]. collapseBox ifNotNil: [collapseBox setBalloonText: 'collapse this window' translated]. self setBoundsWithFlex: fullFrame. paneMorphs reverseDo: [:m | self addMorph: m unlock. self world startSteppingSubmorphsOf: m]. self addPaneSplitters. (self hasProperty: #applyTheme) ifTrue: [ self removeProperty: #applyTheme. + "not self userInterfaceTheme, which answers a query only!!" + UserInterfaceTheme current applyTo: self allMorphs]] - self userInterfaceTheme applyTo: self allMorphs]] ifFalse: ["Collapse -- remove panes from morphics structure" isCollapsed := true. fullFrame := self getBoundsWithFlex. "First save latest fullFrame" paneMorphs do: [:m | m delete; releaseCachedState]. self removePaneSplitters. self removeCornerGrips. model modelSleep. cf := self getCollapsedFrame. (collapsedFrame isNil and: [Preferences collapseWindowsInPlace not]) ifTrue: [collapsedFrame := cf]. self setBoundsWithFlex: cf. collapseBox ifNotNil: [collapseBox setBalloonText: 'expand this window' translated ]. expandBox ifNotNil: [expandBox setBalloonText: 'expand this window' translated ]. self isInWorld ifTrue: [self sendToBack]]. self layoutChanged.!
packages@lists.squeakfoundation.org