Zhiyi Zhang (@zhiyi) commented about dlls/winex11.drv/window.c:
case WM_X11DRV_RESIZE_DESKTOP: X11DRV_resize_desktop(); return 0;
- case WM_X11DRV_DESKTOP_RESIZED:
if ((data = get_win_data( hwnd )))
{
/* update the full screen state */
update_net_wm_states(data);
if (data->whole_window)
{
/* sync window position with the new virtual screen rect */
POINT pos = virtual_screen_to_root(data->whole_rect.left, data->whole_rect.top);
XWindowChanges changes = {.x = pos.x, .y = pos.y};
XReconfigureWMWindow(data->display, data->whole_window, data->vis.screen, CWX | CWY, &changes);
Now you're calling XReconfigureWMWindow() when it can be avoided. For example, when old_virtual_rect.left == new_virtual_rect.left && old_virtual_rect.top == new_virtual_rect.top.