[squeak-dev] The Trunk: Morphic-mt.1862.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jan 28 07:27:41 UTC 2022


Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1862.mcz

==================== Summary ====================

Name: Morphic-mt.1862
Author: mt
Time: 28 January 2022, 8:27:36.17757 am
UUID: 70af1d48-ff08-6b4d-b41a-91ed7124c74f
Ancestors: Morphic-mt.1861

Fixes regression in world morph where the dragTransferType-s #filesAndDirectories and #sourceCode overshadowed the older #transferMorphConverter hook, which is used in Maui and Vivide.

=============== Diff against Morphic-mt.1861 ===============

Item was changed:
  ----- Method: PasteUpMorph>>acceptDroppingMorph:event: (in category 'dropping/grabbing') -----
  acceptDroppingMorph: dropped event: evt
  	"The supplied morph, known to be acceptable to the receiver, is now to be assimilated; the precipitating event is supplied"
  
  	| aMorph |
+ 	(self isWorldMorph and: [dropped isTransferMorph]
+ 		and: [self hasTransferMorphConverter not])
+ 			ifTrue: [
+ 				dropped dragTransferType = #filesAndDirectories
+ 					ifTrue: [^ self dropFiles: dropped passenger event: evt].
+ 				dropped dragTransferType = #sourceCode
+ 					ifTrue: [^ self dropSourceCode: dropped passenger event: evt]].
- 	(self isWorldMorph and: [dropped isTransferMorph]) ifTrue: [
- 		dropped dragTransferType = #filesAndDirectories
- 			ifTrue: [^ self dropFiles: dropped passenger event: evt].
- 		dropped dragTransferType = #sourceCode
- 			ifTrue: [^ self dropSourceCode: dropped passenger event: evt]].
  	
  	aMorph := self morphToDropFrom: dropped.
  	self isWorldMorph
  		ifFalse: [super acceptDroppingMorph: aMorph event: evt]
  		ifTrue: 
  			["Add the given morph to this world and start stepping it if it wants to be."
  			aMorph isInWorld ifFalse: [aMorph position: evt position].
  			self addMorphFront: aMorph.
  			(aMorph fullBounds intersects: self viewBox) ifFalse:
  				[Beeper beep.
  				aMorph position: self bounds center]].
  	
  	aMorph submorphsDo: [:m | (m isKindOf: HaloMorph) ifTrue: [m delete]].
  	aMorph allMorphsDo:  "Establish any penDown morphs in new world"
  		[:m | | tfm mm |
  		m player ifNotNil:
  			[m player getPenDown ifTrue:
  				[((mm := m player costume) notNil and: [(tfm := mm owner transformFrom: self) notNil])
  					ifTrue: [self noteNewLocation: (tfm localPointToGlobal: mm referencePosition)
  									forPlayer: m player]]]].
  	
  	self isPartsBin
  		ifTrue:
  			[aMorph isPartsDonor: true.
  			aMorph stopSteppingSelfAndSubmorphs.
  			aMorph suspendEventHandler]
  		ifFalse:
  			[self world startSteppingSubmorphsOf: aMorph].
  	
  "	self presenter morph: aMorph droppedIntoPasteUpMorph: self."
  	self showingListView ifTrue:
  		[self sortSubmorphsBy: (self valueOfProperty: #sortOrder).
  		self currentWorld abandonAllHalos].
  	
  	self bringTopmostsToFront.!



More information about the Squeak-dev mailing list