user32: Send WM_SIZE when window changes state between restored/min/maximized.
This commit is contained in:
parent
7b6fbd2898
commit
b8d9f3955a
|
@ -65,7 +65,7 @@ static void DEFWND_HandleWindowPosChanged( HWND hwnd, const WINDOWPOS *winpos )
|
||||||
if (!(winpos->flags & SWP_NOCLIENTMOVE))
|
if (!(winpos->flags & SWP_NOCLIENTMOVE))
|
||||||
SendMessageW( hwnd, WM_MOVE, 0, MAKELONG(rect.left, rect.top));
|
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;
|
WPARAM wp = SIZE_RESTORED;
|
||||||
if (IsZoomed(hwnd)) wp = SIZE_MAXIMIZED;
|
if (IsZoomed(hwnd)) wp = SIZE_MAXIMIZED;
|
||||||
|
|
|
@ -1435,6 +1435,16 @@ 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",
|
"%s: in msg 0x%04x expecting lParam 0x%lx got 0x%lx\n",
|
||||||
context, expected->message, expected->lParam, actual->lParam);
|
context, expected->message, expected->lParam, actual->lParam);
|
||||||
}
|
}
|
||||||
|
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),
|
ok_( file, line) ((expected->flags & defwinproc) == (actual->flags & defwinproc),
|
||||||
"%s: the msg 0x%04x should %shave been sent by DefWindowProc\n",
|
"%s: the msg 0x%04x should %shave been sent by DefWindowProc\n",
|
||||||
context, expected->message, (expected->flags & defwinproc) ? "" : "NOT ");
|
context, expected->message, (expected->flags & defwinproc) ? "" : "NOT ");
|
||||||
|
|
|
@ -1031,9 +1031,8 @@ BOOL X11DRV_ShowWindow( HWND hwnd, INT cmd )
|
||||||
{
|
{
|
||||||
/* it appears that Windows always adds an undocumented 0x8000
|
/* it appears that Windows always adds an undocumented 0x8000
|
||||||
* flag if the state of a window changes.
|
* flag if the state of a window changes.
|
||||||
* FIXME: real SWP_xxxx name?
|
|
||||||
*/
|
*/
|
||||||
swp |= 0x8000;
|
swp |= SWP_STATECHANGED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
/* undocumented SWP flags - from SDK 3.1 */
|
/* undocumented SWP flags - from SDK 3.1 */
|
||||||
#define SWP_NOCLIENTSIZE 0x0800
|
#define SWP_NOCLIENTSIZE 0x0800
|
||||||
#define SWP_NOCLIENTMOVE 0x1000
|
#define SWP_NOCLIENTMOVE 0x1000
|
||||||
|
#define SWP_STATECHANGED 0x8000
|
||||||
|
|
||||||
extern BOOL WINPOS_RedrawIconTitle( HWND hWnd );
|
extern BOOL WINPOS_RedrawIconTitle( HWND hWnd );
|
||||||
extern BOOL WINPOS_ShowIconTitle( HWND hwnd, BOOL bShow );
|
extern BOOL WINPOS_ShowIconTitle( HWND hwnd, BOOL bShow );
|
||||||
|
|
Loading…
Reference in New Issue