summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2016-09-28 18:50:19 +0200
committerAxel Davy <axel.davy@ens.fr>2016-10-10 23:43:51 +0200
commit5d85253dc30cc26a40fa6f4a52cf61880827edee (patch)
treefa62f2c77c137a3ca25cbba6027644edea823520 /src/gallium/state_trackers
parent09edc0555f91d76001b1ffc0e656b0614abb809a (diff)
downloadexternal_mesa3d-5d85253dc30cc26a40fa6f4a52cf61880827edee.zip
external_mesa3d-5d85253dc30cc26a40fa6f4a52cf61880827edee.tar.gz
external_mesa3d-5d85253dc30cc26a40fa6f4a52cf61880827edee.tar.bz2
st/nine: Prevent crash in GetRenderTargetData
Return error instead of crashing on source surfaces with format D3DFMT_NULL. Fix for issue #236. Tested on Windows 7. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/nine/device9.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c
index 47fd3a4..b094ede 100644
--- a/src/gallium/state_trackers/nine/device9.c
+++ b/src/gallium/state_trackers/nine/device9.c
@@ -1464,6 +1464,8 @@ NineDevice9_GetRenderTargetData( struct NineDevice9 *This,
user_assert(src->desc.Width == dst->desc.Width, D3DERR_INVALIDCALL);
user_assert(src->desc.Height == dst->desc.Height, D3DERR_INVALIDCALL);
+ user_assert(src->desc.Format != D3DFMT_NULL, D3DERR_INVALIDCALL);
+
NineSurface9_CopyDefaultToMem(dst, src);
return D3D_OK;