From 2a28e4d843ec5302f53a3168061fdf2ca30eb076 Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Wed, 1 Feb 2017 10:12:31 -0600 Subject: [PATCH] winemac: Don't set a view's frame if the backend's value hasn't changed. With windows, the Cocoa main thread may have changed the frame and messages to that effect may be in the queue, so it can be important to reassert the "current" value and discard those messages. With views, by contrast, Cocoa will never change the frame on its own and there are no messages to discard. Signed-off-by: Ken Thomases Signed-off-by: Alexandre Julliard --- dlls/winemac.drv/window.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c index 6e0926c7ad5..e07507b75bf 100644 --- a/dlls/winemac.drv/window.c +++ b/dlls/winemac.drv/window.c @@ -1094,7 +1094,7 @@ static void sync_window_position(struct macdrv_win_data *data, UINT swp_flags, c macdrv_set_view_frame(data->cocoa_view, frame); force_z_order = TRUE; } - else + else if (!EqualRect(&data->whole_rect, old_whole_rect)) macdrv_set_view_frame(data->cocoa_view, frame); }