https://bugs.winehq.org/show_bug.cgi?id=51984
--- Comment #19 from Gabriel Ivăncescu gabrielopcode@gmail.com --- Just some extra info: set_window_pos ends up calling the driver's WindowPosChanged, which is needed at the very least (commenting it out in a copy-pasted function breaks it again) to update it; and of course all the necessary work before that to retrieve the valid rects and so on.
I was worried about messages sent but set_window_pos doesn't seem to send any, since it's an internal helper, so that shouldn't be a problem either.
So I'm guessing that the patch is correct, without overcomplicating matters—Zhiyi, please let me know if it doesn't break Office, so I can send it.