Ken Thomases : winemac: Don't set a view's frame if the backend' s value hasn't changed.
Alexandre Julliard
julliard at winehq.org
Wed Feb 1 15:26:10 CST 2017
Module: wine
Branch: master
Commit: 2a28e4d843ec5302f53a3168061fdf2ca30eb076
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2a28e4d843ec5302f53a3168061fdf2ca30eb076
Author: Ken Thomases <ken at codeweavers.com>
Date: Wed Feb 1 10:12:31 2017 -0600
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 <ken at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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 6e0926c..e07507b 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);
}
More information about the wine-cvs
mailing list