Skip to content
Snippets Groups Projects
Commit 076c6fb5 authored by Robert Shearman's avatar Robert Shearman Committed by Alexandre Julliard
Browse files

user32: Handle the undocumented behaviour in DefWindowProc for WM_NCACTIVATE...

user32: Handle the undocumented behaviour in DefWindowProc for WM_NCACTIVATE that causes the nonclient area not to be redrawn.

If the lParam is 0xffffffff then the nonclient area is not redrawn.
parent 34fe91bf
No related branches found
No related tags found
No related merge requests found
......@@ -90,7 +90,7 @@ extern UINT MENU_FindSubMenu( HMENU *hmenu, HMENU hSubTarget ) DECLSPEC_HIDDEN;
/* nonclient area */
extern LRESULT NC_HandleNCPaint( HWND hwnd , HRGN clip) DECLSPEC_HIDDEN;
extern LRESULT NC_HandleNCActivate( HWND hwnd, WPARAM wParam ) DECLSPEC_HIDDEN;
extern LRESULT NC_HandleNCActivate( HWND hwnd, WPARAM wParam, LPARAM lParam ) DECLSPEC_HIDDEN;
extern LRESULT NC_HandleNCCalcSize( HWND hwnd, RECT *winRect ) DECLSPEC_HIDDEN;
extern LRESULT NC_HandleNCHitTest( HWND hwnd, POINT pt ) DECLSPEC_HIDDEN;
extern LRESULT NC_HandleNCLButtonDown( HWND hwnd, WPARAM wParam, LPARAM lParam ) DECLSPEC_HIDDEN;
......
......@@ -386,7 +386,7 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
break;
case WM_NCACTIVATE:
return NC_HandleNCActivate( hwnd, wParam );
return NC_HandleNCActivate( hwnd, wParam, lParam );
case WM_NCDESTROY:
{
......
......@@ -1123,7 +1123,7 @@ LRESULT NC_HandleNCPaint( HWND hwnd , HRGN clip)
*
* Handle a WM_NCACTIVATE message. Called from DefWindowProc().
*/
LRESULT NC_HandleNCActivate( HWND hwnd, WPARAM wParam )
LRESULT NC_HandleNCActivate( HWND hwnd, WPARAM wParam, LPARAM lParam )
{
WND* wndPtr = WIN_GetPtr( hwnd );
......@@ -1138,10 +1138,16 @@ LRESULT NC_HandleNCActivate( HWND hwnd, WPARAM wParam )
else wndPtr->flags &= ~WIN_NCACTIVATED;
WIN_ReleasePtr( wndPtr );
if (IsIconic(hwnd))
WINPOS_RedrawIconTitle( hwnd );
else
NC_DoNCPaint( hwnd, (HRGN)1, FALSE );
/* This isn't documented but is reproducible in at least XP SP2 and
* Outlook 2007 depends on it
*/
if (lParam != -1)
{
if (IsIconic(hwnd))
WINPOS_RedrawIconTitle( hwnd );
else
NC_DoNCPaint( hwnd, (HRGN)1, FALSE );
}
return TRUE;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment