[PATCH] include/dxva2api.idl: Fix build error when compiled as C++.
Nikolay Sivov
nsivov at codeweavers.com
Mon Mar 22 02:25:35 CDT 2021
From: Liu Hao <lh_mouse at 126.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50836
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
include/dxva2api.idl | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/dxva2api.idl b/include/dxva2api.idl
index 99c93518428..31cacbdcbd0 100644
--- a/include/dxva2api.idl
+++ b/include/dxva2api.idl
@@ -815,13 +815,15 @@ cpp_quote(" return f32;")
cpp_quote("}")
cpp_quote("")
cpp_quote("static inline float DXVA2FixedToFloat(DXVA2_Fixed32 f32) {")
-cpp_quote(" struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;")
+cpp_quote(" typedef struct { USHORT Fraction; SHORT Value; } fields;")
+cpp_quote(" fields *_f32 = (fields *)(void *)&f32;")
cpp_quote(" return (float)_f32->Value + (float)_f32->Fraction / (1 << 16);")
cpp_quote("}")
cpp_quote("")
cpp_quote("static inline DXVA2_Fixed32 DXVA2FloatToFixed(float f) {")
cpp_quote(" DXVA2_Fixed32 f32;")
-cpp_quote(" struct { USHORT Fraction; SHORT Value; } *_f32 = (void *)&f32;")
+cpp_quote(" typedef struct { USHORT Fraction; SHORT Value; } fields;")
+cpp_quote(" fields *_f32 = (fields *)(void *)&f32;")
cpp_quote(" _f32->Value = ((ULONG) (f * (1 << 16))) >> 16;")
cpp_quote(" _f32->Fraction = ((ULONG) (f * (1 << 16))) & 0xFFFF;")
cpp_quote(" return f32;")
--
2.30.2
More information about the wine-devel
mailing list