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?