<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi all!<div><br></div><div>I backported the fix to 5.3, 5.2, and 5.1.</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;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 14.08.2020 13:35:45 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">Marcel Taeumel uploaded a new version of Morphic to project The Trunk:<br>http://source.squeak.org/trunk/Morphic-mt.1674.mcz<br><br>==================== Summary ====================<br><br>Name: Morphic-mt.1674<br>Author: mt<br>Time: 14 August 2020, 1:35:28.120535 pm<br>UUID: 9b6b3a33-4993-437b-b180-606d9be16223<br>Ancestors: Morphic-mt.1673<br><br>Fixes test12CustomEventDispatcher as reported:<br><br>- https://smalltalk.tech.blog/2020/08/10/smalltalks-successor/<br>- http://forum.world.st/A-Sad-Day-tp5120519.html<br><br>This also increases the robustess when loading code that overrides #processEvent: or #processEvent:using: without returning an event object but self.<br><br>=============== Diff against Morphic-mt.1673 ===============<br><br>Item was changed:<br>  ----- Method: MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf: (in category 'support') -----<br>  dispatchEvent: anEvent toSubmorphsOf: aMorph<br>     "Dispatch the given event to the submorphs of the given morph. For coordinate transformations, work only with copies. Either return the given event or a copy of any filtered event to employ immutability to some extent. --- PRIVATE!!"<br>  <br>       | localEvent filteredEvent |    <br>      aMorph submorphsDo: [:child |<br>                 localEvent := anEvent transformedBy: (child transformedFrom: aMorph).<br>+                filteredEvent := child processEvent: localEvent.<br>+             filteredEvent == #rejected ifFalse: [ "some event or #rejected symbol or any other object"<br>+                         filteredEvent isMorphicEvent ifFalse: [filteredEvent := localEvent].            <br>-             filteredEvent := child<br>-                       processEvent: localEvent<br>-                     using: self. "use same dispatcher"<br>-                 filteredEvent == #rejected ifFalse: [ "some event or #rejected symbol"<br>                      self flag: #overlappingChildren. "mt: We cannot give two overlapping siblings the chance to handle the event!!"       <br>                      ^ self nextFromOriginal: anEvent local: localEvent filtered: filteredEvent]].<br>  <br>     ^ #rejected!<br><br><br></div></blockquote></div>