Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-ct.1605.mcz
==================== Summary ====================
Name: Morphic-ct.1605 Author: ct Time: 7 December 2019, 4:21:04.854219 pm UUID: 3c7d5454-0b60-2a47-91fd-51d333eeeb3b Ancestors: Morphic-mt.1604
Delete dialog windows if curtailed
This can happen when the user debugs its invocation and then abandons the debugger, but also in the following example:
[self inform: 'Carpe Squeak!'] valueWithin: 2 seconds onTimeout: []
Imho, it would be a bad idea to keep such a dialog window open if nothing will happen after you react on it.
=============== Diff against Morphic-mt.1604 ===============
Item was changed: ----- Method: DialogWindow>>debugInvocation (in category 'running') ----- debugInvocation
+ Processor activeProcess - [Processor activeProcess debug: self findInvocationContext + title: 'Dialog invocation'! - title: 'Dialog invocation'] - ifCurtailed: [self closeDialog].!
Item was changed: ----- Method: DialogWindow>>getUserResponse (in category 'running') ----- getUserResponse
| hand world | self message ifEmpty: [messageMorph delete]. "Do not waste space." self paneMorph submorphs ifEmpty: ["Do not waste space and avoid strange button-row wraps." self paneMorph delete. self buttonRowMorph wrapDirection: #none]. hand := self currentHand. world := self currentWorld.
self fullBounds. self moveToPreferredPosition. self openInWorld: world. hand showTemporaryCursor: nil. "Since we are out of context, reset the cursor." hand keyboardFocus in: [:priorKeyboardFocus | hand mouseFocus in: [:priorMouseFocus | self exclusive ifTrue: [hand newMouseFocus: self]. hand newKeyboardFocus: self.
+ [[self isInWorld] whileTrue: [world doOneSubCycle]] + ifCurtailed: [self abandon]. - [self isInWorld] whileTrue:[world doOneSubCycle].
hand newKeyboardFocus: priorKeyboardFocus. hand newMouseFocus: priorMouseFocus]].
^ result!
packages@lists.squeakfoundation.org