[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