https://bugs.winehq.org/show_bug.cgi?id=47104 Gabriel Ivăncescu <gabrielopcode(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs(a)winehq.org |gabrielopcode(a)gmail.com Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED --- Comment #5 from Gabriel Ivăncescu <gabrielopcode(a)gmail.com> --- Ok, I've managed to reproduce it. The problem is this 'vst-bridge' from: https://github.com/abique/vst-bridge Note that it's actually a Linux native app that hosts Windows plugins via Wine. It uses a hack to get the whole window from Wine, using GetPropA(g_host.hwnd, "__wine_x11_whole_window"); and then the plugin calls XReparentWindow on it. This messes it up on the Wine side because root_window is not updated when that happens so it becomes out of sync with Wine's expectations. The coordinates sent now (with x_root and y_root) are correct for the entire screen, but because of the hack, Wine believes they are in a completely different spot. It believes the plugin itself is at the top-left on the desktop. The (0,0) for Wine's root is now not the screen's top-left but rather where the Window was reparented to by vst-bridge. For example, its (0,0) coord is (0,0) after MapWindowPoints to the desktop, so MapWindowPoints actually does nothing. This is obviously out of sync with event->x_root which has the proper full-screen coordinate, because root_window doesn't get updated by vst-bridge (it can't since it's internal). I don't know how to fix this cleanly and honestly I don't know if it's Wine's fault to begin with. I expected __wine stuff to be for internal-use only. A somewhat ugly workaround for vst-bridge would be to do the MapWindowPoints and check whether the result is identical to what was put in. If so, use that instead of x_root. This would help with this particular hack, and of course we'll have to document it why. It still fixes the original bug with Winamp so it's still good. I tested this workaround crudely, but I'd like to know if it's a good idea before I factor it properly. Thoughts? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.