Ken Thomases : winemac: If the app doesn't specify a custom max. tracking size, don't restrict Cocoa.
Alexandre Julliard
julliard at winehq.org
Tue Oct 8 15:41:06 CDT 2013
Module: wine
Branch: master
Commit: 9779f0ace4c4f5a0e361b6d6c2c6b9d1b92d058a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9779f0ace4c4f5a0e361b6d6c2c6b9d1b92d058a
Author: Ken Thomases <ken at codeweavers.com>
Date: Tue Oct 8 02:21:31 2013 -0500
winemac: If the app doesn't specify a custom max. tracking size, don't restrict Cocoa.
---
dlls/winemac.drv/window.c | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c
index 1afe294..6e92d13 100644
--- a/dlls/winemac.drv/window.c
+++ b/dlls/winemac.drv/window.c
@@ -479,8 +479,6 @@ static void sync_window_min_max_info(HWND hwnd)
WINDOWPLACEMENT wpl;
HMONITOR monitor;
struct macdrv_win_data *data;
- RECT min_rect, max_rect;
- CGSize min_size, max_size;
TRACE("win %p\n", hwnd);
@@ -573,12 +571,22 @@ static void sync_window_min_max_info(HWND hwnd)
if ((data = get_win_data(hwnd)) && data->cocoa_window)
{
+ RECT min_rect, max_rect;
+ CGSize min_size, max_size;
+
SetRect(&min_rect, 0, 0, minmax.ptMinTrackSize.x, minmax.ptMinTrackSize.y);
- SetRect(&max_rect, 0, 0, minmax.ptMaxTrackSize.x, minmax.ptMaxTrackSize.y);
macdrv_window_to_mac_rect(data, style, &min_rect);
- macdrv_window_to_mac_rect(data, style, &max_rect);
min_size = CGSizeMake(min_rect.right - min_rect.left, min_rect.bottom - min_rect.top);
- max_size = CGSizeMake(max_rect.right - max_rect.left, max_rect.bottom - max_rect.top);
+
+ if (minmax.ptMaxTrackSize.x == GetSystemMetrics(SM_CXMAXTRACK) &&
+ minmax.ptMaxTrackSize.y == GetSystemMetrics(SM_CYMAXTRACK))
+ max_size = CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX);
+ else
+ {
+ SetRect(&max_rect, 0, 0, minmax.ptMaxTrackSize.x, minmax.ptMaxTrackSize.y);
+ macdrv_window_to_mac_rect(data, style, &max_rect);
+ max_size = CGSizeMake(max_rect.right - max_rect.left, max_rect.bottom - max_rect.top);
+ }
TRACE("min_size (%g,%g) max_size (%g,%g)\n", min_size.width, min_size.height, max_size.width, max_size.height);
macdrv_set_window_min_max_sizes(data->cocoa_window, min_size, max_size);
More information about the wine-cvs
mailing list