[PATCH 2/5] wined3d: Just forward wined3d_device_get_display_mode() to the appropriate swapchain.
Henri Verbeet
hverbeet at codeweavers.com
Fri Jun 22 08:57:28 CDT 2012
---
dlls/wined3d/device.c | 27 +++------------------------
1 files changed, 3 insertions(+), 24 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 54eea3f..08b9b63 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3723,31 +3723,10 @@ HRESULT CDECL wined3d_device_get_display_mode(const struct wined3d_device *devic
TRACE("device %p, swapchain_idx %u, mode %p.\n", device, swapchain_idx, mode);
- if (swapchain_idx)
+ if (SUCCEEDED(hr = wined3d_device_get_swapchain(device, swapchain_idx, &swapchain)))
{
- hr = wined3d_device_get_swapchain(device, swapchain_idx, &swapchain);
- if (SUCCEEDED(hr))
- {
- hr = wined3d_swapchain_get_display_mode(swapchain, mode);
- wined3d_swapchain_decref(swapchain);
- }
- }
- else
- {
- const struct wined3d_adapter *adapter = device->adapter;
-
- /* Don't read the real display mode, but return the stored mode
- * instead. X11 can't change the color depth, and some apps are
- * pretty angry if they SetDisplayMode from 24 to 16 bpp and find out
- * that GetDisplayMode still returns 24 bpp.
- *
- * Also don't relay to the swapchain because with ddraw it's possible
- * that there isn't a swapchain at all. */
- mode->width = adapter->screen_size.cx;
- mode->height = adapter->screen_size.cy;
- mode->format_id = adapter->screen_format;
- mode->refresh_rate = 0;
- hr = WINED3D_OK;
+ hr = wined3d_swapchain_get_display_mode(swapchain, mode);
+ wined3d_swapchain_decref(swapchain);
}
return hr;
--
1.7.3.4
More information about the wine-patches
mailing list