=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: wined3d: Minimize device windows on focus loss.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 17 07:43:45 CST 2014
Module: wine
Branch: master
Commit: 45d530461bf29c953f5f4532cc0e917b4c4fc296
URL: http://source.winehq.org/git/wine.git/?a=commit;h=45d530461bf29c953f5f4532cc0e917b4c4fc296
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Thu Nov 13 20:39:25 2014 +0100
wined3d: Minimize device windows on focus loss.
---
dlls/wined3d/device.c | 5 +++++
dlls/wined3d/swapchain.c | 6 ++++++
dlls/wined3d/wined3d_private.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index ee3636e..0de444b 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4983,6 +4983,11 @@ LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL
}
else if (message == WM_ACTIVATEAPP)
{
+ UINT i;
+
+ for (i = 0; i < device->swapchain_count; i++)
+ wined3d_swapchain_activate(device->swapchains[i], wparam);
+
device->device_parent->ops->activate(device->device_parent, wparam);
}
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 25e2107..4c0948f 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -1175,3 +1175,9 @@ void swapchain_update_draw_bindings(struct wined3d_swapchain *swapchain)
wined3d_resource_update_draw_binding(&swapchain->back_buffers[i]->resource);
}
}
+
+void wined3d_swapchain_activate(struct wined3d_swapchain *swapchain, BOOL activate)
+{
+ if (!activate && !(swapchain->device->create_parms.flags & WINED3DCREATE_NOWINDOWCHANGES))
+ ShowWindow(swapchain->device_window, SW_MINIMIZE);
+}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 4210d26..cba20f4 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2702,6 +2702,7 @@ struct wined3d_swapchain
void x11_copy_to_screen(const struct wined3d_swapchain *swapchain, const RECT *rect) DECLSPEC_HIDDEN;
+void wined3d_swapchain_activate(struct wined3d_swapchain *swapchain, BOOL activate) DECLSPEC_HIDDEN;
struct wined3d_context *swapchain_get_context(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
void swapchain_destroy_contexts(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
HDC swapchain_get_backup_dc(struct wined3d_swapchain *swapchain) DECLSPEC_HIDDEN;
More information about the wine-cvs
mailing list