[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] sqUnixXdnd: Don't record SQDragLeave when XdndDrop is handled (#508)

David Stes notifications at github.com
Thu Aug 20 12:26:11 UTC 2020


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


Hi,

I compiled the VM from your repository branch "sqUnixXdnd"
(I applied one small patch the patch from PR #496 required on Solaris)

It's possible that there is some issue with the Solaris support,
as this has not been used for a long time I think,
and I'm only recently using it , but it's quite usable.

So when I use that VM and I use the Tools -> File List , I can "fileIn"
the changesets that you posted.

Then after that when I drag a file "myfile" into the Squeak desktop,
I get into a debugger.

When I right click on the debugger I can select "copy bug report to clipboard".

UndefinedObject(Object)>>error:
	Receiver: nil
	Arguments and temporary variables: 
		aString: 	'Instances of UndefinedObject are not indexable'
	Receiver's instance variables: 
nil

UndefinedObject(Object)>>errorNotIndexable
	Receiver: nil
	Arguments and temporary variables: 

	Receiver's instance variables: 
nil

UndefinedObject(Object)>>size
	Receiver: nil
	Arguments and temporary variables: 

	Receiver's instance variables: 
nil

FileDirectory class>>on:
	Receiver: FileDirectory
	Arguments and temporary variables: 
		pathString: 	nil
		pathName: 	nil
		parentName: 	nil
	Receiver's instance variables: 
		superclass: 	Object
		methodDict: 	a MethodDictionary(size 125)
		format: 	65537
		instanceVariables: 	#('pathName')
		organization: 	('enumeration' containingDirectory directoryEntries directoryEntry...etc...
		subclasses: 	{UnixFileDirectory . AcornFileDirectory . MacFileDirectory . DosFileDirectory...etc...
		name: 	#FileDirectory
		classPool: 	a Dictionary(#DefaultDirectory->UnixFileDirectory on './stes/s...etc...
		sharedPools: 	nil
		environment: 	Smalltalk
		category: 	#'Files-Directories'

FileDirectory class>>requestDropDirectory:
	Receiver: FileDirectory
	Arguments and temporary variables: 
		dropIndex: 	1
		potentialDirectory: 	nil
	Receiver's instance variables: 
		superclass: 	Object
		methodDict: 	a MethodDictionary(size 125)
		format: 	65537
		instanceVariables: 	#('pathName')
		organization: 	('enumeration' containingDirectory directoryEntries directoryEntry...etc...
		subclasses: 	{UnixFileDirectory . AcornFileDirectory . MacFileDirectory . DosFileDirectory...etc...
		name: 	#FileDirectory
		classPool: 	a Dictionary(#DefaultDirectory->UnixFileDirectory on './stes/s...etc...
		sharedPools: 	nil
		environment: 	Smalltalk
		category: 	#'Files-Directories'

[] in HandMorph>>collectDropFilesAndDirectories:
	Receiver: a HandMorph(1013123)
	Arguments and temporary variables: 
<<error during printing>
	Receiver's instance variables: 
		bounds: 	660 at 444 corner: 676 at 460
		owner: 	a PasteUpMorph(2434915) [world]
		submorphs: 	#()
		fullBounds: 	660 at 444 corner: 676 at 460
		color: 	Color blue
		extension: 	a MorphExtension (1604074) [eventHandler = an EventHandler]  [other:...etc...
		mouseFocus: 	nil
		keyboardFocus: 	a TextMorphForEditView(3274035)
		eventListeners: 	nil
		mouseListeners: 	nil
		keyboardListeners: 	nil
		eventCaptureFilters: 	nil
		mouseCaptureFilters: 	nil
		keyboardCaptureFilters: 	a WeakArray(a HandMorph(1013123))
		mouseClickState: 	nil
		mouseOverHandler: 	a MouseOverHandler
		targetOffset: 	68 at 9
		lastMouseEvent: 	[660 at 444 mouseUp ( red ) 111157]
		damageRecorder: 	a DamageRecorder
		cacheCanvas: 	nil
		cachedCanvasHasHoles: 	true
		temporaryCursor: 	nil
		temporaryCursorOffset: 	nil
		hardwareCursor: 	nil
		hasChanged: 	true
		savedPatch: 	nil
		userInitials: 	''
		lastEventBuffer: 	#(1 111157 660 444 0 0 0 1)
		genieGestureProcessor: 	nil
		keyboardInterpreter: 	an UTF32InputInterpreter
		externalDropMorph: 	nil

Interval>>collect:
	Receiver: (1 to: 1)
	Arguments and temporary variables: 
		aBlock: 	[closure] in HandMorph>>collectDropFilesAndDirectories:
		nextValue: 	1
		result: 	#(nil)
		i: 	1
		iLimiT: 	1
	Receiver's instance variables: 
		start: 	1
		stop: 	1
		step: 	1

HandMorph>>collectDropFilesAndDirectories:
	Receiver: a HandMorph(1013123)
	Arguments and temporary variables: 
		numFiles: 	1
	Receiver's instance variables: 
		bounds: 	660 at 444 corner: 676 at 460
		owner: 	a PasteUpMorph(2434915) [world]
		submorphs: 	#()
		fullBounds: 	660 at 444 corner: 676 at 460
		color: 	Color blue
		extension: 	a MorphExtension (1604074) [eventHandler = an EventHandler]  [other:...etc...
		mouseFocus: 	nil
		keyboardFocus: 	a TextMorphForEditView(3274035)
		eventListeners: 	nil
		mouseListeners: 	nil
		keyboardListeners: 	nil
		eventCaptureFilters: 	nil
		mouseCaptureFilters: 	nil
		keyboardCaptureFilters: 	a WeakArray(a HandMorph(1013123))
		mouseClickState: 	nil
		mouseOverHandler: 	a MouseOverHandler
		targetOffset: 	68 at 9
		lastMouseEvent: 	[660 at 444 mouseUp ( red ) 111157]
		damageRecorder: 	a DamageRecorder
		cacheCanvas: 	nil
		cachedCanvasHasHoles: 	true
		temporaryCursor: 	nil
		temporaryCursorOffset: 	nil
		hardwareCursor: 	nil
		hasChanged: 	true
		savedPatch: 	nil
		userInitials: 	''
		lastEventBuffer: 	#(1 111157 660 444 0 0 0 1)
		genieGestureProcessor: 	nil
		keyboardInterpreter: 	an UTF32InputInterpreter
		externalDropMorph: 	nil

HandMorph>>generateDropFilesEvent:
	Receiver: a HandMorph(1013123)
	Arguments and temporary variables: 
		evtBuf: 	#(3 58791 1 803 1 0 1 1)
		position: 	803 at 1
		buttons: 	1
		modifiers: 	0
		stamp: 	58791
		numFiles: 	1
		dragType: 	1
		filesAndDirectories: 	nil
		oldButtons: 	nil
	Receiver's instance variables: 
		bounds: 	660 at 444 corner: 676 at 460
		owner: 	a PasteUpMorph(2434915) [world]
		submorphs: 	#()
		fullBounds: 	660 at 444 corner: 676 at 460
		color: 	Color blue
		extension: 	a MorphExtension (1604074) [eventHandler = an EventHandler]  [other:...etc...
		mouseFocus: 	nil
		keyboardFocus: 	a TextMorphForEditView(3274035)
		eventListeners: 	nil
		mouseListeners: 	nil
		keyboardListeners: 	nil
		eventCaptureFilters: 	nil
		mouseCaptureFilters: 	nil
		keyboardCaptureFilters: 	a WeakArray(a HandMorph(1013123))
		mouseClickState: 	nil
		mouseOverHandler: 	a MouseOverHandler
		targetOffset: 	68 at 9
		lastMouseEvent: 	[660 at 444 mouseUp ( red ) 111157]
		damageRecorder: 	a DamageRecorder
		cacheCanvas: 	nil
		cachedCanvasHasHoles: 	true
		temporaryCursor: 	nil
		temporaryCursorOffset: 	nil
		hardwareCursor: 	nil
		hasChanged: 	true
		savedPatch: 	nil
		userInitials: 	''
		lastEventBuffer: 	#(1 111157 660 444 0 0 0 1)
		genieGestureProcessor: 	nil
		keyboardInterpreter: 	an UTF32InputInterpreter
		externalDropMorph: 	nil

HandMorph>>processEvents
	Receiver: a HandMorph(1013123)
	Arguments and temporary variables: 
		evt: 	nil
		evtBuf: 	#(3 58791 1 803 1 0 1 1)
		type: 	3
		hadAny: 	false
	Receiver's instance variables: 
		bounds: 	660 at 444 corner: 676 at 460
		owner: 	a PasteUpMorph(2434915) [world]
		submorphs: 	#()
		fullBounds: 	660 at 444 corner: 676 at 460
		color: 	Color blue
		extension: 	a MorphExtension (1604074) [eventHandler = an EventHandler]  [other:...etc...
		mouseFocus: 	nil
		keyboardFocus: 	a TextMorphForEditView(3274035)
		eventListeners: 	nil
		mouseListeners: 	nil
		keyboardListeners: 	nil
		eventCaptureFilters: 	nil
		mouseCaptureFilters: 	nil
		keyboardCaptureFilters: 	a WeakArray(a HandMorph(1013123))
		mouseClickState: 	nil
		mouseOverHandler: 	a MouseOverHandler
		targetOffset: 	68 at 9
		lastMouseEvent: 	[660 at 444 mouseUp ( red ) 111157]
		damageRecorder: 	a DamageRecorder
		cacheCanvas: 	nil
		cachedCanvasHasHoles: 	true
		temporaryCursor: 	nil
		temporaryCursorOffset: 	nil
		hardwareCursor: 	nil
		hasChanged: 	true
		savedPatch: 	nil
		userInitials: 	''
		lastEventBuffer: 	#(1 111157 660 444 0 0 0 1)
		genieGestureProcessor: 	nil
		keyboardInterpreter: 	an UTF32InputInterpreter
		externalDropMorph: 	nil

[] in WorldState>>doOneCycleNowFor:
	Receiver: a WorldState
	Arguments and temporary variables: 
<<error during printing>
	Receiver's instance variables: 
		hands: 	{a HandMorph(1013123)}
		activeHand: 	a HandMorph(1013123)
		viewBox: 	0 at 0 corner: 1008 at 680
		canvas: 	a FormCanvas on: DisplayScreen(1008x680x32)
		damageRecorder: 	a DamageRecorder
		stepList: 	a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc...
		lastStepTime: 	3775378560621
		lastStepMessage: 	nil
		lastCycleTime: 	3775378560643
		commandHistory: 	a CommandHistory
		alarms: 	a MorphicAlarmQueue
		lastAlarmTime: 	3775378560621
		remoteServer: 	nil
		multiCanvas: 	nil
		interCycleDelay: 	a Delay(20 msecs)

Array(SequenceableCollection)>>do:
	Receiver: {a HandMorph(1013123)}
	Arguments and temporary variables: 
		aBlock: 	[closure] in WorldState>>doOneCycleNowFor:
		index: 	1
		indexLimiT: 	1
	Receiver's instance variables: 
{a HandMorph(1013123)}

WorldState>>handsDo:
	Receiver: a WorldState
	Arguments and temporary variables: 
		aBlock: 	[closure] in WorldState>>doOneCycleNowFor:
	Receiver's instance variables: 
		hands: 	{a HandMorph(1013123)}
		activeHand: 	a HandMorph(1013123)
		viewBox: 	0 at 0 corner: 1008 at 680
		canvas: 	a FormCanvas on: DisplayScreen(1008x680x32)
		damageRecorder: 	a DamageRecorder
		stepList: 	a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc...
		lastStepTime: 	3775378560621
		lastStepMessage: 	nil
		lastCycleTime: 	3775378560643
		commandHistory: 	a CommandHistory
		alarms: 	a MorphicAlarmQueue
		lastAlarmTime: 	3775378560621
		remoteServer: 	nil
		multiCanvas: 	nil
		interCycleDelay: 	a Delay(20 msecs)

WorldState>>doOneCycleNowFor:
	Receiver: a WorldState
	Arguments and temporary variables: 
		aWorld: 	a PasteUpMorph(2434915) [world]
		capturingGesture: 	#(false)
	Receiver's instance variables: 
		hands: 	{a HandMorph(1013123)}
		activeHand: 	a HandMorph(1013123)
		viewBox: 	0 at 0 corner: 1008 at 680
		canvas: 	a FormCanvas on: DisplayScreen(1008x680x32)
		damageRecorder: 	a DamageRecorder
		stepList: 	a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc...
		lastStepTime: 	3775378560621
		lastStepMessage: 	nil
		lastCycleTime: 	3775378560643
		commandHistory: 	a CommandHistory
		alarms: 	a MorphicAlarmQueue
		lastAlarmTime: 	3775378560621
		remoteServer: 	nil
		multiCanvas: 	nil
		interCycleDelay: 	a Delay(20 msecs)

WorldState>>doOneCycleFor:
	Receiver: a WorldState
	Arguments and temporary variables: 
		aWorld: 	a PasteUpMorph(2434915) [world]
	Receiver's instance variables: 
		hands: 	{a HandMorph(1013123)}
		activeHand: 	a HandMorph(1013123)
		viewBox: 	0 at 0 corner: 1008 at 680
		canvas: 	a FormCanvas on: DisplayScreen(1008x680x32)
		damageRecorder: 	a DamageRecorder
		stepList: 	a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc...
		lastStepTime: 	3775378560621
		lastStepMessage: 	nil
		lastCycleTime: 	3775378560643
		commandHistory: 	a CommandHistory
		alarms: 	a MorphicAlarmQueue
		lastAlarmTime: 	3775378560621
		remoteServer: 	nil
		multiCanvas: 	nil
		interCycleDelay: 	a Delay(20 msecs)

PasteUpMorph>>doOneCycle
	Receiver: a PasteUpMorph(2434915) [world]
	Arguments and temporary variables: 

	Receiver's instance variables: 
		bounds: 	0 at 0 corner: 1008 at 680
		owner: 	nil
		submorphs: 	{a PluggableSystemWindow<Error: Instances of UndefinedObject are not...etc...
		fullBounds: 	0 at 0 corner: 1008 at 680
		color: 	(Color r: 0.251 g: 0.259 b: 0.267)
		extension: 	a MorphExtension (931082) [eventHandler = an EventHandler]  [other: ...etc...
		borderWidth: 	0
		borderColor: 	(Color r: 0.515 g: 0.181 b: 0.263)
		presenter: 	an EtoysPresenter (3945455)
		model: 	a MorphicModel(3522854)
		cursor: 	1
		padding: 	3
		backgroundMorph: 	nil
		turtleTrailsForm: 	nil
		turtlePen: 	nil
		lastTurtlePositions: 	nil
		isPartsBin: 	nil
		indicateCursor: 	nil
		wantsMouseOverHalos: 	nil
		worldState: 	a WorldState
		griddingOn: 	nil

[] in MorphicProject>>spawnNewProcess
	Receiver: a MorphicProject (HomeProject) in a PasteUpMorph(2434915) [world]
	Arguments and temporary variables: 

	Receiver's instance variables: 
		dependents: 	nil
		world: 	a PasteUpMorph(2434915) [world]
		uiManager: 	a MorphicUIManager
		changeSet: 	a ChangeSet named HomeProject
		transcript: 	a TranscriptStream
		parentProject: 	a MVCProject (RootProject) in a ControlManager
		previousProject: 	nil
		displayDepth: 	32
		viewSize: 	151 at 132
		thumbnail: 	Form(151x132x32)
		nextProject: 	nil
		projectParameters: 	an IdentityDictionary(#PrevailingProjectFlags->an IdentityDictionary...etc...
		version: 	nil
		urlList: 	nil
		lastDirectory: 	nil
		lastSavedAtSeconds: 	nil
		projectPreferenceFlagDictionary: 	an IdentityDictionary(#showSharedFlaps->true #showWorldMainDockingBar...etc...
		resourceManager: 	a ResourceManager
		uiProcess: 	a Process in nil

[] in FullBlockClosure(BlockClosure)>>newProcess
	Receiver: [closure] in MorphicProject>>spawnNewProcess
	Arguments and temporary variables: 

	Receiver's instance variables: 
		outerContext: 	MorphicProject>>spawnNewProcess
		startpcOrMethod: 	([] in MorphicProject>>#spawnNewProcess "a CompiledBlock(15491...etc...
		numArgs: 	0
		receiver: 	a MorphicProject (HomeProject) in a PasteUpMorph(2434915) [world]


- --- The full stack ---
UndefinedObject(Object)>>error:
UndefinedObject(Object)>>errorNotIndexable
UndefinedObject(Object)>>size
FileDirectory class>>on:
FileDirectory class>>requestDropDirectory:
[] in HandMorph>>collectDropFilesAndDirectories:
Interval>>collect:
HandMorph>>collectDropFilesAndDirectories:
HandMorph>>generateDropFilesEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in MorphicProject>>spawnNewProcess
[] in FullBlockClosure(BlockClosure)>>newProcess



However it's possible that the changeset is using some functionality,
that is somehow not working well on Solaris,
so perhaps it can be independently tested (unrelated to the changes to 
the VM or the changeset for dropFile).

That's possible ...

Is it correct to assume that the problem is somehwere in

requestDropDirectory: dropIndex

| potentialDirectory | 
potentialDirectory := self on: (FileStream primDropRequestFileName: dropIndex).
^ potentialDirectory exists ifTrue: [potentialDirectory]


The method on: with the FileStream seems to raise an error for me.
David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJfPmtKAAoJEAwpOKXMq1MaBtMIAKqN0Rb+/q38E9cyj6WI0SdW
gGjWhuu1zgs4u/wQQtzDskh3nI57QbN73ytqDPsrX6eRickiYT8MvRQ+ohDqcmfJ
HuNwW1esgL9wM1XGhQ5HOVrs+YxheFeqx5ng8rQqMnHGv82PMUh0zBODY3Us6FMg
fDq+n0rE2GFMFh7E8PoUR7h84O/wg3oXb3tx5g09ebEo8Ftlz+DCGgnCqg2FNhH+
ORNmqRPTIe6y/eJfWdODpCovOnxld///VO6z1Rc1foyGXo5jDAf2N2vdjAH2CXDe
aKXo0RheCV2vM/Jl/lRcYWJh2A/2YvtxbGnb8Dqyz0gQxK2KA6bAg9N4ZyzzX+o=
=2iQV
-----END PGP SIGNATURE-----

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/508#issuecomment-677633726
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20200820/9dcd67f2/attachment-0001.html>


More information about the Vm-dev mailing list