<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Thank you!</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von commits@source.squeak.org <commits@source.squeak.org><br>
<b>Gesendet:</b> Montag, 30. Januar 2023 10:47:15<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] The Trunk: Morphic-mt.2082.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Marcel Taeumel uploaded a new version of Morphic to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Morphic-mt.2082.mcz">http://source.squeak.org/trunk/Morphic-mt.2082.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Morphic-mt.2082<br>
Author: mt<br>
Time: 30 January 2023, 10:47:12.840518 am<br>
UUID: 6d4a75d3-9931-2b42-bb00-b3ec6b5942e2<br>
Ancestors: Morphic-mt.2081<br>
<br>
In tree widgets, fixes regression that mouse-clicks on toggle nodes should not update the current selection but only expand/collapse that node.<br>
<br>
=============== Diff against Morphic-mt.2081 ===============<br>
<br>
Item was changed:<br>
  ----- Method: SimpleHierarchicalListMorph>>mouseDown: (in category 'event handling') -----<br>
  mouseDown: evt<br>
+ <br>
+        | aMorph selectors |    <br>
-        | aMorph selectors |<br>
-        <br>
         aMorph := self itemFromPoint: evt position.<br>
         evt yellowButtonPressed  "First check for option (menu) click"<br>
                 ifTrue: [<br>
                         (PluggableListMorph menuRequestUpdatesSelection and: [model okToChange]) ifTrue: [<br>
                                 aMorph == selectedMorph <br>
                                         ifFalse: [self setSelectedMorph: aMorph]].<br>
                         ^ self yellowButtonActivity: evt shiftPressed].<br>
+ <br>
+        aMorph ifNil: [^ super mouseDown: evt].<br>
+ <br>
         (aMorph notNil and:[aMorph inToggleArea: (aMorph point: evt position from: self)])<br>
+                ifTrue: [^ self toggleExpandedState: aMorph event: evt]. <br>
-                ifTrue:[^self toggleExpandedState: aMorph event: evt]. <br>
-        aMorph ifNil:[^super mouseDown: evt].<br>
         <br>
         PluggableListMorph highlightPreSelection ifTrue: [<br>
                 aMorph highlightedForMouseDown: true.<br>
                 self setProperty: #highlightedMorph toValue: aMorph].<br>
         <br>
+        self setProperty: #changeSelectionOnMouseUp toValue: true.<br>
+        <br>
         selectors := Array <br>
                 with: #click:<br>
                 with: (self doubleClickEnabled ifTrue: [#doubleClick:] ifFalse: [nil])<br>
                 with: nil<br>
                 with: (self dragEnabled ifTrue:[#startDrag:] ifFalse:[nil]).<br>
         evt hand waitForClicksOrDrag: self event: evt selectors: selectors threshold: HandMorph dragThreshold "pixels".!<br>
<br>
Item was changed:<br>
  ----- Method: SimpleHierarchicalListMorph>>mouseUp: (in category 'event handling') -----<br>
  mouseUp: event<br>
   <br>
         | clickedMorph |<br>
         model okToChange ifFalse: [^ self].<br>
         (clickedMorph := self itemFromPoint: event position) ifNil: [^ self].<br>
         <br>
         (self valueOfProperty: #highlightedMorph ifAbsent: [])<br>
                 ifNotNil: [:m |<br>
                         m highlightedForMouseDown: false.<br>
                         self removeProperty: #highlightedMorph].<br>
         <br>
+        (self hasProperty: #changeSelectionOnMouseUp)<br>
+                ifFalse: [^ self]<br>
+                ifTrue: [self removeProperty: #changeSelectionOnMouseUp].<br>
+        <br>
         ((autoDeselect isNil or: [autoDeselect]) and: [clickedMorph == selectedMorph])
<br>
                 ifTrue: [self setSelectedMorph: nil]<br>
                 ifFalse: [self setSelectedMorph: clickedMorph].<br>
  <br>
         event hand newKeyboardFocus: self.<br>
         Cursor normal show.!<br>
<br>
<br>
</div>
</span></font>
</body>
</html>