Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.985.mcz
==================== Summary ====================
Name: Morphic-mt.985 Author: mt Time: 27 May 2015, 2:13:49.6 pm UUID: c315a5f2-a6af-d34c-809a-c14702a96423 Ancestors: Morphic-mt.984
Fixes a bug with the selection highlight in ObjectExplorer (and all other tools that use a tree widget).
See: http://forum.world.st/BUG-ObjectExplorer-menu-td4827121.html
=============== Diff against Morphic-mt.984 ===============
Item was changed: ----- Method: SimpleHierarchicalListMorph>>mouseDown: (in category 'event handling') ----- mouseDown: evt | aMorph selectors | aMorph := self itemFromPoint: evt position. evt yellowButtonPressed "First check for option (menu) click" ifTrue: [ (PluggableListMorph menuRequestUpdatesSelection and: [model okToChange]) ifTrue: [ aMorph == selectedMorph ifFalse: [self setSelectedMorph: aMorph]]. ^ self yellowButtonActivity: evt shiftPressed]. (aMorph notNil and:[aMorph inToggleArea: (aMorph point: evt position from: self)]) ifTrue:[^self toggleExpandedState: aMorph event: evt]. aMorph ifNil:[^super mouseDown: evt]. + aMorph highlightForMouseDown. + self setProperty: #highlightedMorph toValue: aMorph. + selectors := Array with: #click: with: nil with: nil with: (self dragEnabled ifTrue:[#startDrag:] ifFalse:[nil]). evt hand waitForClicksOrDrag: self event: evt selectors: selectors threshold: HandMorph dragThreshold "pixels".!
Item was changed: ----- Method: SimpleHierarchicalListMorph>>mouseUp: (in category 'event handling') ----- + mouseUp: event + + | clickedMorph highlightedMorph | + clickedMorph := self itemFromPoint: event position. + highlightedMorph := self valueOfProperty: #highlightedMorph ifAbsent: []. + self removeProperty: #highlightedMorph. + + ((model okToChange not + or: [clickedMorph isNil]) + or: [clickedMorph ~~ highlightedMorph]) ifTrue: [ + highlightedMorph ifNotNil: [:m | m highlightForMouseDown: false]. + ^ self]. + + ((autoDeselect isNil or: [autoDeselect]) and: [clickedMorph == selectedMorph]) - mouseUp: event - | aMorph | - aMorph := self itemFromPoint: event position. - aMorph ifNil: [^self]. - aMorph highlightedForMouseDown ifFalse: [^self]. - aMorph highlightForMouseDown: false. - model okToChange ifFalse: [^self]. - "No change if model is locked" - ((autoDeselect isNil or: [autoDeselect]) and: [aMorph == selectedMorph]) ifTrue: [self setSelectedMorph: nil] + ifFalse: [self setSelectedMorph: clickedMorph]. + + highlightedMorph highlightForMouseDown: false. - ifFalse: [self setSelectedMorph: aMorph]. event hand newKeyboardFocus: self. + Cursor normal show.! - Cursor normal show!
squeak-dev@lists.squeakfoundation.org