<div dir="auto">Actually that blog post or the complaining comment by Stephen Pope do not mention this issue at all. The comment criticizes the hugeness of the class library and the naming of categories. Though I'd attribute most of the concrete points about "bloat" to Pharo and the remaining is Morphic.<div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de" target="_blank" rel="noreferrer">marcel.taeumel@hpi.de</a>> schrieb am Fr., 14. Aug. 2020, 13:52:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id="m_1842914829140402031m_-3415265845727309158__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></div>
                                        
                                        <blockquote 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 <a href="mailto:commits@source.squeak.org" rel="noreferrer noreferrer" target="_blank">commits@source.squeak.org</a> <<a href="mailto:commits@source.squeak.org" rel="noreferrer noreferrer" target="_blank">commits@source.squeak.org</a>>:</p><div style="font-family:Arial,Helvetica,sans-serif">Marcel Taeumel uploaded a new version of Morphic to project The Trunk:<br><a href="http://source.squeak.org/trunk/Morphic-mt.1674.mcz" rel="noreferrer noreferrer" target="_blank">http://source.squeak.org/trunk/Morphic-mt.1674.mcz</a><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>- <a href="https://smalltalk.tech.blog/2020/08/10/smalltalks-successor/" rel="noreferrer noreferrer" target="_blank">https://smalltalk.tech.blog/2020/08/10/smalltalks-successor/</a><br>- <a href="http://forum.world.st/A-Sad-Day-tp5120519.html" rel="noreferrer noreferrer" target="_blank">http://forum.world.st/A-Sad-Day-tp5120519.html</a><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><br>
</blockquote></div>