On 4 December 2014 at 21:51, Stefan Dösinger <stefan(a)codeweavers.com> wrote:
> diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
> index 89ec00a..51dabd4 100644
> --- a/dlls/wined3d/device.c
> +++ b/dlls/wined3d/device.c
> @@ -4992,6 +4992,16 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
>
> device->device_parent->ops->activate(device->device_parent, wparam);
> }
> + else if (message == WM_SYSCOMMAND)
> + {
> + if (wparam == SC_RESTORE && !(device->wined3d->flags & WINED3D_NO_SYSCOMMAND_HANDLING))
I'm not really a fan of this kind of double negative. The way the flag
is used, it also seems to be about restores in particular instead of
syscommands in general.
> + {
> + if (unicode)
> + DefWindowProcW(window, message, wparam, lparam);
> + else
> + DefWindowProcA(window, message, wparam, lparam);
> + }
> + }
>
> if (unicode)
> return CallWindowProcW(proc, window, message, wparam, lparam);
Is this really how it's supposed to work? In particular, should
DefWindowProc really always get the message before the application
does, or should we give the application a chance first, and only pass
to DefWindowProc if it doesn't handle the message?