We applied this patch also last second in 0.4.7rls, now in master.
IntTrackPopupMenuEx() caused the BSOD when called while window is in the process of being destroyed.
{
PWND pwndM = ValidateHwndNoErr( menu->hWnd );
if (pwndM) // wine hack around this with their destroy function.
- co_UserDestroyWindow( pwndM ); // Fix wrong error return.
+ {
+ if (!(pWnd->state & WNDS_DESTROYED))
+ co_UserDestroyWindow( pwndM ); // Fix wrong error return.
+ }
menu->hWnd = 0;
if (!(wFlags & TPM_NONOTIFY))