guarantee non-reentrant drawing, clean up variables, make sure we do not skip multipl...