winemac: If the app doesn't specify a custom max. tracking size, don't restrict Cocoa.

This commit is contained in:
Ken Thomases 2013-10-08 02:21:31 -05:00 committed by Alexandre Julliard
parent 4d9340eb41
commit 9779f0ace4
1 changed files with 13 additions and 5 deletions

View File

@ -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);