Rémi Bernon : user32: Factor IsRectEmpty driver check in ShowWindow.
Alexandre Julliard
julliard at winehq.org
Mon May 17 15:45:32 CDT 2021
Module: wine
Branch: master
Commit: 07b9f3f609e6c6d6d4b9af4c223392479ba99afb
URL: https://source.winehq.org/git/wine.git/?a=commit;h=07b9f3f609e6c6d6d4b9af4c223392479ba99afb
Author: Rémi Bernon <rbernon at codeweavers.com>
Date: Fri May 14 13:40:04 2021 +0200
user32: Factor IsRectEmpty driver check in ShowWindow.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/user32/winpos.c | 6 ++++--
dlls/wineandroid.drv/window.c | 1 -
dlls/winemac.drv/window.c | 1 -
dlls/winex11.drv/window.c | 1 -
4 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c
index c6f806f7beb..cf7e7914869 100644
--- a/dlls/user32/winpos.c
+++ b/dlls/user32/winpos.c
@@ -1044,7 +1044,7 @@ static BOOL show_window( HWND hwnd, INT cmd )
BOOL wasVisible = (style & WS_VISIBLE) != 0;
BOOL showFlag = TRUE;
RECT newPos = {0, 0, 0, 0};
- UINT swp = 0;
+ UINT new_swp, swp = 0;
TRACE("hwnd=%p, cmd=%d, wasVisible %d\n", hwnd, cmd, wasVisible);
@@ -1117,7 +1117,9 @@ static BOOL show_window( HWND hwnd, INT cmd )
if (!IsWindow( hwnd )) goto done;
}
- swp = USER_Driver->pShowWindow( hwnd, cmd, &newPos, swp );
+ if (IsRectEmpty( &newPos )) new_swp = swp;
+ else new_swp = USER_Driver->pShowWindow( hwnd, cmd, &newPos, swp );
+ swp = new_swp;
parent = GetAncestor( hwnd, GA_PARENT );
if (parent && !IsWindowVisible( parent ) && !(swp & SWP_STATECHANGED))
diff --git a/dlls/wineandroid.drv/window.c b/dlls/wineandroid.drv/window.c
index 1cb1bbbadc9..1c61d4eb76e 100644
--- a/dlls/wineandroid.drv/window.c
+++ b/dlls/wineandroid.drv/window.c
@@ -1385,7 +1385,6 @@ void CDECL ANDROID_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flag
*/
UINT CDECL ANDROID_ShowWindow( HWND hwnd, INT cmd, RECT *rect, UINT swp )
{
- if (IsRectEmpty( rect )) return swp;
if (!IsIconic( hwnd )) return swp;
/* always hide icons off-screen */
if (rect->left != -32000 || rect->top != -32000)
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c
index e7f5327fcdc..4e60189ead9 100644
--- a/dlls/winemac.drv/window.c
+++ b/dlls/winemac.drv/window.c
@@ -1798,7 +1798,6 @@ UINT CDECL macdrv_ShowWindow(HWND hwnd, INT cmd, RECT *rect, UINT swp)
hwnd, data ? data->cocoa_window : NULL, cmd, wine_dbgstr_rect(rect), swp);
if (!data || !data->cocoa_window) goto done;
- if (IsRectEmpty(rect)) goto done;
if (GetWindowLongW(hwnd, GWL_STYLE) & WS_MINIMIZE)
{
if (rect->left != -32000 || rect->top != -32000)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index b3ae5c54408..c30fe6d39b0 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -2560,7 +2560,6 @@ UINT CDECL X11DRV_ShowWindow( HWND hwnd, INT cmd, RECT *rect, UINT swp )
struct x11drv_win_data *data = get_win_data( hwnd );
if (!data || !data->whole_window) goto done;
- if (IsRectEmpty( rect )) goto done;
if (style & WS_MINIMIZE)
{
if (((rect->left != -32000 || rect->top != -32000)) && hide_icon( data ))
More information about the wine-cvs
mailing list