Dmitry Timoshkov : winex11.drv: Use the monitor work area to decide whether a window should be made managed .
Alexandre Julliard
julliard at winehq.org
Tue Oct 7 08:54:07 CDT 2008
Module: wine
Branch: master
Commit: 15c820611824bd67300547627a72f2d85f44afde
URL: http://source.winehq.org/git/wine.git/?a=commit;h=15c820611824bd67300547627a72f2d85f44afde
Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date: Tue Oct 7 12:14:52 2008 +0900
winex11.drv: Use the monitor work area to decide whether a window should be made managed.
---
dlls/winex11.drv/window.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
index b9b2059..0ca0836 100644
--- a/dlls/winex11.drv/window.c
+++ b/dlls/winex11.drv/window.c
@@ -105,11 +105,17 @@ static BOOL is_window_managed( HWND hwnd, UINT swp_flags, const RECT *window_rec
if (style & WS_THICKFRAME) return TRUE;
if (style & WS_POPUP)
{
+ HMONITOR hmon;
+ MONITORINFO mi;
+
/* popup with sysmenu == caption are managed */
if (style & WS_SYSMENU) return TRUE;
/* full-screen popup windows are managed */
- if (window_rect->left <= 0 && window_rect->right >= screen_width &&
- window_rect->top <= 0 && window_rect->bottom >= screen_height)
+ hmon = MonitorFromWindow( hwnd, MONITOR_DEFAULTTOPRIMARY );
+ mi.cbSize = sizeof( mi );
+ GetMonitorInfoW( hmon, &mi );
+ if (window_rect->left <= mi.rcWork.left && window_rect->right >= mi.rcWork.right &&
+ window_rect->top <= mi.rcWork.top && window_rect->bottom >= mi.rcWork.bottom)
return TRUE;
}
/* application windows are managed */
More information about the wine-cvs
mailing list