Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1164.mcz
==================== Summary ====================
Name: Morphic-mt.1164 Author: mt Time: 4 June 2016, 7:23:27.090866 pm UUID: 5e45c00f-7313-1449-86b4-7193cc8c0a62 Ancestors: Morphic-mt.1163
Fixes regression with system windows that get locked-in modally and thus have modal owners or a modal child. There was an endless loop then trying to #comeToFront.
CMD+K spawns a font chooser in every text morph, for example, which is modally locked to the underlying code editing window.
=============== Diff against Morphic-mt.1163 ===============
Item was changed: ----- Method: SystemWindow>>comeToFront (in category 'top window') ----- comeToFront - "If I am modal, bring along my modal owning window and my model child as well. Ensure that my label is visible."
+ "Modal windows: Walk along the modal owner chain, the bring all to top." + self modalOwner ifNotNil: [:mo | mo isSystemWindow ifTrue: [ + ^ mo modalOwner + ifNil: [mo comeToFrontModally] + ifNotNil: [:omo | omo comeToFront]]]. + self modalChild ifNotNil: [^ self comeToFrontModally]. + - "Model window: Bring up my modal owner behind me." - self modalOwner ifNotNil: - [ : mo | mo isSystemWindow ifTrue: - [ mo comeToFront ] ]. - "Now show me." super comeToFront. + - - "Modal window: Bring up my modal children in front of me." - self modalChild ifNotNil: - [ : modalChild | modalChild owner ifNotNil: - [ modalChild comeToFront. - ^ modalChild modalChild ifNil: [ modalChild flash ] ] ]. - "Label should be visible to interact with." self assureLabelAreaVisible. "Handle historic companions. May be removed in the future." self extantSketchEditor ifNotNil: [:sketchEditor | sketchEditor comeToFront. (self world findA: PaintBoxMorph) ifNotNil: [:pal | pal comeToFront]].!
Item was added: + ----- Method: SystemWindow>>comeToFrontModally (in category 'top window') ----- + comeToFrontModally + "If I am modal, bring along my modal owning window and my model child as well." + + super comeToFront. + + "Bring up my modal children in front of me." + self modalChild ifNotNil: [:wnd | + wnd comeToFrontModally. + wnd modalChild ifNil: [wnd flash]].!
packages@lists.squeakfoundation.org