On 2020-07-02 17:14, Gabriel Ivăncescu wrote:
Hi Rémi,
On 02/07/2020 16:14, Rémi Bernon wrote:
Hi,
I investigated this logic a while ago, and I believe it's a little bit more convoluted. I think there's, for instance, some interaction with the WINED3DCREATE_NOWINDOWCHANGES flag, but the behavior also varies between ddraw, d3d <= 9, d3d >= 9ex and dxgi.
AFAICS there's also the same kind of change / restore logic with window visibility, and of course window styles -- which wined3d incorrectly modifies.
I have some patches with some more tests showing that, but it was based on some other changes to remove the window styles updates, that I sent a while ago but didn't try sending again since then.
I'm attaching my whole series if you want to have a look, potentially the additional tests can be interesting. Feel free to take over it too.
Thanks for the patches, I'll take a look at them. Though I think WS_EX_TOPMOST deserves special handling, because it can't be modified with SetWindowLong like other styles.
Sure, there's also window visibility that may be changed or restored in the same way (not sure if it can be controlled through styles).
BTW, I can't find where WINED3DCREATE_NOWINDOWCHANGES is set at all. It's checked in a couple of places but not set anywhere in whole wine tree. Is it even used anymore?
It's not used directly IIRC but it has the same value as some corresponding D3D flag.