[PATCH 2/4] d3dx9_36: Cast DWORDs to BYTEs in CreateFont.

Stefan Dösinger stefan at codeweavers.com
Tue Feb 18 03:46:14 CST 2014


This looks like stupid API design. Why did Microsoft use different data
types for the same thing in the function prototype and D3DXFONT_DESC*?
---
 dlls/d3dx9_36/font.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/dlls/d3dx9_36/font.c b/dlls/d3dx9_36/font.c
index d2bc4bc..b493f0d 100644
--- a/dlls/d3dx9_36/font.c
+++ b/dlls/d3dx9_36/font.c
@@ -241,10 +241,10 @@ HRESULT WINAPI D3DXCreateFontA(struct IDirect3DDevice9 *device, INT height, UINT
     desc.Weight=weight;
     desc.MipLevels=miplevels;
     desc.Italic=italic;
-    desc.CharSet=charset;
-    desc.OutputPrecision=precision;
-    desc.Quality=quality;
-    desc.PitchAndFamily=pitchandfamily;
+    desc.CharSet=(BYTE)charset;
+    desc.OutputPrecision=(BYTE)precision;
+    desc.Quality=(BYTE)quality;
+    desc.PitchAndFamily=(BYTE)pitchandfamily;
     if(facename != NULL) lstrcpyA(desc.FaceName, facename);
     else desc.FaceName[0] = '\0';
 
@@ -263,10 +263,10 @@ HRESULT WINAPI D3DXCreateFontW(IDirect3DDevice9 *device, INT height, UINT width,
     desc.Weight=weight;
     desc.MipLevels=miplevels;
     desc.Italic=italic;
-    desc.CharSet=charset;
-    desc.OutputPrecision=precision;
-    desc.Quality=quality;
-    desc.PitchAndFamily=pitchandfamily;
+    desc.CharSet=(BYTE)charset;
+    desc.OutputPrecision=(BYTE)precision;
+    desc.Quality=(BYTE)quality;
+    desc.PitchAndFamily=(BYTE)pitchandfamily;
     if(facename != NULL) strcpyW(desc.FaceName, facename);
     else desc.FaceName[0] = '\0';
 
-- 
1.8.3.2




More information about the wine-patches mailing list