winemac: Call sync_window_position() before show_window() since window frame affects whether it shows.

This commit is contained in:
Ken Thomases 2013-02-18 21:50:22 -06:00 committed by Alexandre Julliard
parent abb0161c4c
commit 1561fa4126

View File

@ -1369,17 +1369,6 @@ void CDECL macdrv_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags,
hide_window(data);
}
if (new_style & WS_VISIBLE)
{
if (!data->on_screen || (swp_flags & (SWP_FRAMECHANGED|SWP_STATECHANGED)))
set_cocoa_window_properties(data);
/* layered windows are not shown until their attributes are set */
if (!data->on_screen &&
(data->layered || !(GetWindowLongW( hwnd, GWL_EXSTYLE ) & WS_EX_LAYERED)))
show_window(data);
}
/* check if we are currently processing an event relevant to this window */
if (!thread_data || !thread_data->current_event ||
thread_data->current_event->window != data->cocoa_window ||
@ -1391,6 +1380,17 @@ void CDECL macdrv_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags,
set_cocoa_window_properties(data);
}
if (new_style & WS_VISIBLE)
{
if (!data->on_screen || (swp_flags & (SWP_FRAMECHANGED|SWP_STATECHANGED)))
set_cocoa_window_properties(data);
/* layered windows are not shown until their attributes are set */
if (!data->on_screen &&
(data->layered || !(GetWindowLongW( hwnd, GWL_EXSTYLE ) & WS_EX_LAYERED)))
show_window(data);
}
done:
release_win_data(data);
}