st/nine: Fix crash NineDevice9_CreateAdditionalSwapChain
authorAxel Davy <axel.davy@ens.fr>
Wed, 11 Nov 2015 09:13:58 +0000 (10:13 +0100)
committerAxel Davy <axel.davy@ens.fr>
Thu, 4 Feb 2016 21:12:17 +0000 (22:12 +0100)
When no window is specified, we should revert to the focus window.

This deserves more tests however (what if the device swapchain is
already using the focus window ?)

Fixes crash for FFXIV

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
src/gallium/state_trackers/nine/device9.c

index e4ac61a5a43ebf7137c884f02c9b6b5cc79ba61f..3752c63f444e6ebbccfeefead1462aef807382a4 100644 (file)
@@ -711,6 +711,10 @@ NineDevice9_CreateAdditionalSwapChain( struct NineDevice9 *This,
 
     user_assert(pPresentationParameters, D3DERR_INVALIDCALL);
 
+    /* TODO: this deserves more tests */
+    if (!pPresentationParameters->hDeviceWindow)
+        pPresentationParameters->hDeviceWindow = This->params.hFocusWindow;
+
     hr = ID3DPresentGroup_CreateAdditionalPresent(This->present, pPresentationParameters, &present);
 
     if (FAILED(hr))