--- a/Cursor.st Fri Feb 26 00:27:33 1999 +0100
+++ b/Cursor.st Fri Feb 26 00:40:14 1999 +0100
@@ -2732,7 +2732,7 @@
"create a new Cursor representing the same cursor as
myself on aDevice. Dont search the lobby."
- |newCursor id sF mF w h|
+ |newCursor id sF mF w h deviceSf deviceMf|
"ask that device for the cursor"
shape notNil ifTrue:[
@@ -2744,25 +2744,21 @@
] ifFalse:[
aDevice needDeviceFormsForCursor ifTrue:[
sourceForm notNil ifTrue:[
- sF := sourceForm asFormOn:aDevice.
+ sF := deviceSf := sourceForm asFormOn:aDevice.
].
maskForm notNil ifTrue:[
- mF := maskForm asFormOn:aDevice.
+ mF := deviceMf := maskForm asFormOn:aDevice.
] ifFalse:[
mF := sF
].
- (sF notNil and:[mF notNil]) ifTrue:[
- device == aDevice ifTrue:[
- sourceForm := sF.
- maskForm := mF.
- ]
- ].
] ifFalse:[
sourceForm notNil ifTrue:[
- sF := sourceForm bits
+ sF := sourceForm bits.
+ deviceSf := sourceForm.
].
maskForm notNil ifTrue:[
mF := maskForm bits.
+ deviceMf := maskForm.
] ifFalse:[
mF := sF
].
@@ -2795,6 +2791,8 @@
"receiver was not associated - do it now"
device := aDevice.
cursorId := id.
+ sourceForm := deviceSf.
+ maskForm := deviceMf.
"must re-register, the old registration had a nil cursorId in it"
Lobby registerChange:self.
@@ -2806,8 +2804,8 @@
shape notNil ifTrue:[
newCursor setShape:shape.
] ifFalse:[
- newCursor setSourceForm:sourceForm
- maskForm:maskForm
+ newCursor setSourceForm:deviceSf
+ maskForm:deviceMf
hotX:hotX
hotY:hotY
].
@@ -2860,6 +2858,6 @@
!Cursor class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/Cursor.st,v 1.63 1999-02-25 23:26:53 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/Cursor.st,v 1.64 1999-02-25 23:40:14 cg Exp $'
! !
Cursor initialize!