user32: Send WM_SIZE when window changes state between restored/min/maximized.

This commit is contained in:
Juris Smotrovs 2006-05-25 15:26:04 +03:00 committed by Alexandre Julliard
parent 7b6fbd2898
commit b8d9f3955a
4 changed files with 16 additions and 6 deletions

View File

@ -65,7 +65,7 @@ static void DEFWND_HandleWindowPosChanged( HWND hwnd, const WINDOWPOS *winpos )
if (!(winpos->flags & SWP_NOCLIENTMOVE))
SendMessageW( hwnd, WM_MOVE, 0, MAKELONG(rect.left, rect.top));
if (!(winpos->flags & SWP_NOCLIENTSIZE))
if (!(winpos->flags & SWP_NOCLIENTSIZE) || (winpos->flags & SWP_STATECHANGED))
{
WPARAM wp = SIZE_RESTORED;
if (IsZoomed(hwnd)) wp = SIZE_MAXIMIZED;

View File

@ -1435,9 +1435,19 @@ static void ok_sequence_(const struct message *expected, const char *context, in
"%s: in msg 0x%04x expecting lParam 0x%lx got 0x%lx\n",
context, expected->message, expected->lParam, actual->lParam);
}
ok_( file, line) ((expected->flags & defwinproc) == (actual->flags & defwinproc),
"%s: the msg 0x%04x should %shave been sent by DefWindowProc\n",
context, expected->message, (expected->flags & defwinproc) ? "" : "NOT ");
if ((expected->flags & defwinproc) != (actual->flags & defwinproc) && todo)
{
todo_wine {
failcount ++;
ok_( file, line) (FALSE,
"%s: in msg 0x%04x expecting lParam 0x%lx got 0x%lx\n",
context, expected->message, expected->lParam, actual->lParam);
}
}
else
ok_( file, line) ((expected->flags & defwinproc) == (actual->flags & defwinproc),
"%s: the msg 0x%04x should %shave been sent by DefWindowProc\n",
context, expected->message, (expected->flags & defwinproc) ? "" : "NOT ");
ok_( file, line) ((expected->flags & beginpaint) == (actual->flags & beginpaint),
"%s: the msg 0x%04x should %shave been sent by BeginPaint\n",
context, expected->message, (expected->flags & beginpaint) ? "" : "NOT ");

View File

@ -1031,9 +1031,8 @@ BOOL X11DRV_ShowWindow( HWND hwnd, INT cmd )
{
/* it appears that Windows always adds an undocumented 0x8000
* flag if the state of a window changes.
* FIXME: real SWP_xxxx name?
*/
swp |= 0x8000;
swp |= SWP_STATECHANGED;
}
}

View File

@ -30,6 +30,7 @@
/* undocumented SWP flags - from SDK 3.1 */
#define SWP_NOCLIENTSIZE 0x0800
#define SWP_NOCLIENTMOVE 0x1000
#define SWP_STATECHANGED 0x8000
extern BOOL WINPOS_RedrawIconTitle( HWND hWnd );
extern BOOL WINPOS_ShowIconTitle( HWND hwnd, BOOL bShow );