Hmm... not calling PassEvent() isn't sufficient to keep MoveExact() from running.
(The crash happens because SelectCursor() is called for MoveExact(), then something triggers a cancel event for the EnumeratePads tool which cancels the BoardCommit, replacing the MODULE with the saved one, which deletes the pad that SelectCursor() selected.)
Hmm... not calling PassEvent() isn't sufficient to keep MoveExact() from running.
(The crash happens because SelectCursor() is called for MoveExact(), then something triggers a cancel event for the EnumeratePads tool which cancels the BoardCommit, replacing the MODULE with the saved one, which deletes the pad that SelectCursor() selected.)