http://bugs.winehq.org/show_bug.cgi?id=59708 Bug ID: 59708 Summary: d3d9: missing MSVC vtable byte-pattern Product: Wine Version: 11.7 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d3d Assignee: wine-bugs@list.winehq.org Reporter: danielginovker@gmail.com Distribution: --- Created attachment 80842 --> http://bugs.winehq.org/attachment.cgi?id=80842 Proposed patch (git format-patch). Adds an 18-byte MSVC-pattern marker after d3d9_device_vtbl in dlls/d3d9/device.c plus a conformance test in dlls/d3d9/tests/device.c. Wine's d3d9.dll is MinGW GCC-built and doesn't contain the MSVC C++ vtable-init byte sequence (c7 06 ?? 89 86 ?? 89 86) that some closed-source overlay/hook libraries scan for to locate the IDirect3DDevice9 vtable. Concrete affected case: bfmeladder.com's BFME Online Arena. Its dinput8.dll proxy fails to install hooks on Wine, so the Arena's 30-second Automated Matchmaking Test times out with "the overlay didn't load in 30 seconds." Repro: install https://bfmeladder.com/download under Wine staging, sign in, pick any game and patch, watch the test fail. Proposed patch attached: 18-byte packed const struct after d3d9_device_vtbl in .rdata, reproducing the pattern with &d3d9_device_vtbl as imm32. Not referenced by any Wine code. Conformance test included. -- 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.