more correct handling of WM_SETCURSOR