diff -r 2d4b51e6eb48 -r bddae0850c56 Cursor.st --- 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!