-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Am 2014-12-08 um 12:04 schrieb Henri Verbeet:
- if (device->filter_messages) + if (device->filter_messages && message != WM_DISPLAYCHANGE) That seems pretty specific. I'd be curious how other broadcast messages are handled. I did some testing on this and tried to send some messages to the window from inside the WM_DISPLAYCHANGE message handler. I did not manage to get any message through, not even WM_DISPLAYCHANGE. HWND_BROADCAST doesn't help either. Broadcast messages are sent to other windows (e.g. the device window) as expected.
It is possible that WM_DISPLAYCHANGE and WM_IME_NOTIFY are generated by d3d9 rather than just whitelisted. The behavior is also different if the device is created by a thread that does not own the window. In this case the owning thread has to pump messages, otherwise CreateDevice gets stuck. A lot more messages can be seen, but not WM_WINDOWPOSCHANGING / WM_WINDOWPOSCHANGED. I don't plan to spend more time on the filtering behavior until we find an application that has trouble with the current code though. Stefan -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJUvPy+AAoJEN0/YqbEcdMwnfUQAILuR3RdaNvJ0DZIB5b3ifgm o/dhCRM9za3+y/TVm0k/nQBtYduVsAFk4vFvvOjE0gc+pddVhcFE+FFPv/BaXSLN jGhyJyOiDMn+4ETzDLw4AzpAkx0eVZfAJSbonDgWLLHCyYbolPjg8V3G/62Vaj85 GSEG5icXxAIRRZgjyDaqdEEI3u/oYsdBtl8EssmhJ0t8qr7vjyfgCrn7MuWngnxu CB2+qDTWU3zxoam03VFM+W3fKWtmHOhI/S1kknepBtv50X4ny/ZwqmbgFQDL4pIw Ejlh9AH/cGkrwWTGOEYr8M2ZSNSM4IRmCCFz4GUkZOhJ3tnn1lCOKdn4P1x8CSFy oqELJQmE0shrBLUVWE3sgldjqYUFhCjPbBM0gVF8J9t1VQQVd8+txqirJx5ki6Kr I8ZEspoCOPdw5ojj9HuI7slJh3xP1jD7YtrfjAwEdINwblSAhHanBRItFg+jSO5I mS6c89WKLzD6qr8ibgazhWIgCdHIyJjLvCTWonQQrUAjGVdUM/NQMzzkpBpxt7IP V4qqeypZ9072tK90s8gP/s0Uq9FR3pUYKEWsS9Fu2+7EZAGSvCEGdldjMvDWh2gd P9NbXooR3BoR/eTEXysT63jy/YeBPDJNpkK7T20qIbRmt/vUYipkA8QvPs478TLy XsrUtSA3DN2OqHBNENVI =LK+0 -----END PGP SIGNATURE-----