user32: Change the position and size of layered windows before flushing their surfaces.
commit8892b79118fde5f2307ecbbdb03a8d0c489c8b3d
authorZhiyi Zhang <zzhang@codeweavers.com>
Wed, 20 Oct 2021 02:07:59 +0000 (20 10:07 +0800)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 20 Oct 2021 09:23:23 +0000 (20 11:23 +0200)
tree34333cd58e605025a45669a18f7a2610f49cfa66
parente45d51fddabfa9e5f5d2a19bb8df2e12134dcf45
user32: Change the position and size of layered windows before flushing their surfaces.

When UpdateLayeredWindow() is called to paint a window and update its
size, USER_Driver->pUpdateLayeredWindow() needs to be called after the
window position and size are updated. Otherwise, UpdateLayeredWindow()
may flush the painted content to a smaller window and then enlarge it,
losing the painted result.

Fix Word 2016 window frame corruption after restoring from maximized state.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/user32/win.c