***************************************************************************************
* WinSwap subroutine for DOpusFuncs.s						      *
***************************************************************************************
WinSwap
	Tst.l	WinSwap_S(a5)
	Bne.s	WinSwap_DoIt
	RTS
WinSwap_DoIt
	Sub.l	d0,d0			Abort if there isn't a source lister.
	Bsr	GetSourceHandle		Get the source lister's handle -> Source_Handle

	Sub.l	d0,d0			Abort if there isn't a dest lister.
	Bsr	GetDestHandle		Get the dest lister's handle -> Dest_Handle
;-------------------------------------------------------------------------------------;
	Lea	Source_Handle(a5),a0	-.
	Lea	PathBuffer1(a5),a1	 |_ Source path
	Move.w	#PathBuffer1Len,d7	 |  to PathBuffer1
	Bsr	GetListerPath		-'

	Lea	Dest_Handle(a5),a0	-.
	Lea	PathBuffer2(a5),a1	 |_ Dest path
	Move.w	#PathBuffer2Len,d7	 |  to PathBuffer2
	Bsr	GetListerPath		-'
;-------------------------------------------------------------------------------------;
	Sub.l	d0,d0			Don't force into current path buffer.
	Lea	Source_Handle(a5),a0	-.
	Lea	PathBuffer2(a5),a1	 |- Read old Destination path -> Source.
	Bsr	ReadListerPath		-'

	Sub.l	d0,d0			Don't force into current path buffer.
	Lea	Dest_Handle(a5),a0	-.
	Lea	PathBuffer1(a5),a1	 |- Read old Source path -> Destination.
	Bra	ReadListerPath		-'
;;;;;;;	RTS for us.
