Not familiar with _dmsattach; perhaps simply making these two lines the same will help:
Code:
(if (null myxr-react)
(setq myxr-react (vlr-command-reactor nil '((:vlr-commandwillstart . myxr-swaplayer)
(:vlr-commandended . myxr-restorelayer)
(:vlr-commandcancelled . myxr-restorelayer))))
)
(defun setormakelayer (layn doc)
(if (null (tblsearch "layer" layn))
(vla-add (vla-get-layers doc) layn))
(setvar "clayer" layn)
)
;;commandwillstart callback (reactor commandlist)
(defun myxr-swaplayer (r cl / doc)
(if (wcmatch (strcase (car cl)) "*ATTACH,*XCLIP*,*XREF");allowance for other commands
(progn
(setq doc (vlr-document r))
(vlr-data-set r (getvar "clayer"))
(if
(= 1 (vla-get-activespace doc))
(setormakelayer "_XREF" doc)
(setormakelayer "_XREF" doc)
))))
;;commandended callback (reactor commandlist)
(defun myxr-restorelayer (r cl)
(if (wcmatch (strcase (car cl)) "*ATTACH,*XCLIP*,*XREF");allowance for other commands
(vlr-data r))
(setvar "clayer" (vlr-data r))
(vlr-data-set r nil)
)
)