[PATCH 9/9] wined3d: Pass WM_SYSCOMMAND(SC_RESTORE) to DefWindowProc.

Henri Verbeet hverbeet at gmail.com
Mon Dec 8 05:04:48 CST 2014


On 4 December 2014 at 21:51, Stefan Dösinger <stefan at 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?



More information about the wine-devel mailing list