The Trunk: Morphic-ct.1605.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Morphic-ct.1605.mcz

commits-2
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!