[PATCH v6 3/6] ddraw: Remove topmost style when going from exclusive mode to normal.
Stefan Dösinger
stefandoesinger at gmail.com
Thu Jan 13 13:47:00 CST 2022
> Am 13.01.2022 um 20:49 schrieb Gabriel Ivăncescu <gabrielopcode at gmail.com>:
>
> if (!(cooplevel & DDSCL_EXCLUSIVE) && (ddraw->cooperative_level & DDSCL_EXCLUSIVE))
> {
> + if (!(cooplevel & DDSCL_NOWINDOWCHANGES))
> + SetWindowPos(window, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
> +
> if (restore_mode_on_normal && FAILED(ddraw7_RestoreDisplayMode(&ddraw->IDirectDraw7_iface)))
So here comes one more thought: Wouldn't this fit better in the
if ((ddraw->cooperative_level & DDSCL_EXCLUSIVE)
&& (window != ddraw->dest_window || !(cooplevel & DDSCL_EXCLUSIVE)))
wined3d_device_release_focus_window(ddraw->wined3d_device);
Part below?
I am not entirely sure myself, I am trying to trace where exactly the TOPMOST Z order change is done. Maybe it is worth checking what happens on an exclusive -> exclusive switch with different windows. You'd expect the old window to lose topmost and the new one to gain it, but considering how broken ddraw is I wouldn't be surprised if both or neither end up topmost.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20220113/5e1cb01a/attachment.sig>
More information about the wine-devel
mailing list