<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi Marcel,</p>
<p><br>
</p>
<p>I'm not sure about this, but #closeDialog appears to perform the buttonAction on the currently selected button. #cancelDialog should match even better here. But in general, do we want so much action just in an ensure routine?</p>
<p><span style="font-size: 12pt;">If not #abandon, then I would rather call "self closeDialog: nil", and this only sets result before calling #delete.</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span style="font-size: 12pt;">Best,</span></p>
<p><span style="font-size: 12pt;">Christoph</span></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div>
<div class="_rp_T4" id="Item.MessagePartBody">
<div class="_rp_U4 ms-font-weight-regular ms-font-color-neutralDark rpHighlightAllClass rpHighlightBodyClass" id="Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont"></font></div>
</div>
</font></div>
</div>
</div>
</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel<br>
<b>Gesendet:</b> Sonntag, 8. Dezember 2019 15:49:10<br>
<b>An:</b> John Pfersich via Squeak-dev<br>
<b>Betreff:</b> Re: [squeak-dev] The Inbox: Morphic-ct.1605.mcz</font>
<div> </div>
</div>
<div>
<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
Hi Christoph,
<div><br>
</div>
<div>why did you change "self closeDialog" to "self abandon"?</div>
<div><br>
</div>
<div>Best,</div>
<div>Marcel</div>
<div class="mb_sig"></div>
<blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
<p style="color: #AAAAAA; margin-top: 10px;">Am 07.12.2019 16:21:22 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p>
<div style="font-family:Arial,Helvetica,sans-serif">A new version of Morphic was added to project The Inbox:<br>
http://source.squeak.org/inbox/Morphic-ct.1605.mcz<br>
<br>
==================== Summary ====================<br>
<br>
Name: Morphic-ct.1605<br>
Author: ct<br>
Time: 7 December 2019, 4:21:04.854219 pm<br>
UUID: 3c7d5454-0b60-2a47-91fd-51d333eeeb3b<br>
Ancestors: Morphic-mt.1604<br>
<br>
Delete dialog windows if curtailed<br>
<br>
This can happen when the user debugs its invocation and then abandons the debugger, but also in the following example:<br>
<br>
[self inform: 'Carpe Squeak!'] valueWithin: 2 seconds onTimeout: []<br>
<br>
Imho, it would be a bad idea to keep such a dialog window open if nothing will happen after you react on it.<br>
<br>
=============== Diff against Morphic-mt.1604 ===============<br>
<br>
Item was changed:<br>
----- Method: DialogWindow>>debugInvocation (in category 'running') -----<br>
debugInvocation<br>
<br>
+ Processor activeProcess<br>
- [Processor activeProcess<br>
debug: self findInvocationContext<br>
+ title: 'Dialog invocation'!<br>
- title: 'Dialog invocation']<br>
- ifCurtailed: [self closeDialog].!<br>
<br>
Item was changed:<br>
----- Method: DialogWindow>>getUserResponse (in category 'running') -----<br>
getUserResponse<br>
<br>
| hand world |<br>
self message ifEmpty: [messageMorph delete]. "Do not waste space."<br>
self paneMorph submorphs<br>
ifEmpty: ["Do not waste space and avoid strange button-row wraps."<br>
self paneMorph delete.<br>
self buttonRowMorph wrapDirection: #none]. <br>
<br>
hand := self currentHand.<br>
world := self currentWorld.<br>
<br>
self fullBounds.<br>
self moveToPreferredPosition.<br>
self openInWorld: world.<br>
<br>
hand showTemporaryCursor: nil. "Since we are out of context, reset the cursor."<br>
<br>
hand keyboardFocus in: [:priorKeyboardFocus |<br>
hand mouseFocus in: [:priorMouseFocus |<br>
self exclusive ifTrue: [hand newMouseFocus: self].<br>
hand newKeyboardFocus: self.<br>
<br>
+ [[self isInWorld] whileTrue: [world doOneSubCycle]]<br>
+ ifCurtailed: [self abandon].<br>
- [self isInWorld] whileTrue:[world doOneSubCycle].<br>
<br>
hand newKeyboardFocus: priorKeyboardFocus.<br>
hand newMouseFocus: priorMouseFocus]].<br>
<br>
^ result!<br>
<br>
<br>
</div>
</blockquote>
</div>
</div>
</body>
</html>