Add IsWindow() checks after SendMessage() returns.
This commit is contained in:
parent
d24cc27967
commit
85d52b35c3
|
@ -444,6 +444,12 @@ BOOL PAINT_RedrawWindow( HWND hwnd, const RECT *rectUpdate,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( !IsWindow( hwnd ) )
|
||||||
|
{
|
||||||
|
WIN_ReleaseWndPtr(wndPtr);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Recursively process children */
|
/* Recursively process children */
|
||||||
|
|
||||||
if (!(flags & RDW_NOCHILDREN) &&
|
if (!(flags & RDW_NOCHILDREN) &&
|
||||||
|
|
|
@ -976,6 +976,8 @@ static void EVENT_ConfigureNotify( WND *pWnd, XConfigureEvent *event )
|
||||||
|
|
||||||
/* Send WM_WINDOWPOSCHANGING */
|
/* Send WM_WINDOWPOSCHANGING */
|
||||||
SendMessageA( winpos.hwnd, WM_WINDOWPOSCHANGING, 0, (LPARAM)&winpos );
|
SendMessageA( winpos.hwnd, WM_WINDOWPOSCHANGING, 0, (LPARAM)&winpos );
|
||||||
|
|
||||||
|
if (!IsWindow( winpos.hwnd )) return;
|
||||||
|
|
||||||
/* Calculate new position and size */
|
/* Calculate new position and size */
|
||||||
newWindowRect.left = x;
|
newWindowRect.left = x;
|
||||||
|
@ -987,6 +989,8 @@ static void EVENT_ConfigureNotify( WND *pWnd, XConfigureEvent *event )
|
||||||
&pWnd->rectWindow, &pWnd->rectClient,
|
&pWnd->rectWindow, &pWnd->rectClient,
|
||||||
&winpos, &newClientRect );
|
&winpos, &newClientRect );
|
||||||
|
|
||||||
|
if (!IsWindow( winpos.hwnd )) return;
|
||||||
|
|
||||||
hrgnOldPos = CreateRectRgnIndirect( &pWnd->rectWindow );
|
hrgnOldPos = CreateRectRgnIndirect( &pWnd->rectWindow );
|
||||||
hrgnNewPos = CreateRectRgnIndirect( &newWindowRect );
|
hrgnNewPos = CreateRectRgnIndirect( &newWindowRect );
|
||||||
CombineRgn( hrgnOldPos, hrgnOldPos, hrgnNewPos, RGN_DIFF );
|
CombineRgn( hrgnOldPos, hrgnOldPos, hrgnNewPos, RGN_DIFF );
|
||||||
|
|
Loading…
Reference in New Issue