[GDI32] Fix 64 bit issues

This commit is contained in:
Timo Kreuzer 2018-03-04 16:06:54 +01:00
parent 4f0a158a2f
commit 7ad5f405cb
6 changed files with 16 additions and 15 deletions

View file

@ -136,7 +136,7 @@ typedef struct tagENHMETAFILE
#define UMPDEV_SUPPORT_ESCAPE 0x0004 #define UMPDEV_SUPPORT_ESCAPE 0x0004
typedef struct _UMPDEV typedef struct _UMPDEV
{ {
DWORD Sig; // Init with PDEV_UMPD_ID DWORD_PTR Sig; // Init with PDEV_UMPD_ID
struct _UMPDEV *pumpdNext; struct _UMPDEV *pumpdNext;
PDRIVER_INFO_5W pdi5Info; PDRIVER_INFO_5W pdi5Info;
HMODULE hModule; HMODULE hModule;

View file

@ -1431,7 +1431,7 @@ bDDCreateSurface(LPDDRAWI_DDRAWSURFACE_LCL pSurface,
} }
/* Create the object */ /* Create the object */
pSurface->hDDSurface = (DWORD)NtGdiDdCreateSurfaceObject(GetDdHandle(pSurface->lpGbl->lpDD->hDD), pSurface->hDDSurface = (DWORD_PTR)NtGdiDdCreateSurfaceObject(GetDdHandle(pSurface->lpGbl->lpDD->hDD),
(HANDLE)pSurface->hDDSurface, (HANDLE)pSurface->hDDSurface,
&SurfaceLocal, &SurfaceLocal,
&SurfaceMore, &SurfaceMore,

View file

@ -1509,7 +1509,7 @@ SelectObject(
switch (GDI_HANDLE_GET_TYPE(hobj)) switch (GDI_HANDLE_GET_TYPE(hobj))
{ {
case GDILoObjType_LO_REGION_TYPE: case GDILoObjType_LO_REGION_TYPE:
return (HGDIOBJ)ExtSelectClipRgn(hdc, hobj, RGN_COPY); return (HGDIOBJ)UlongToHandle(ExtSelectClipRgn(hdc, hobj, RGN_COPY));
case GDILoObjType_LO_BITMAP_TYPE: case GDILoObjType_LO_BITMAP_TYPE:
case GDILoObjType_LO_DIBSECTION_TYPE: case GDILoObjType_LO_DIBSECTION_TYPE:

View file

@ -1097,19 +1097,19 @@ GetOutlineTextMetricsA(
needed = sizeof(OUTLINETEXTMETRICA); needed = sizeof(OUTLINETEXTMETRICA);
if(lpOTMW->otmpFamilyName) if(lpOTMW->otmpFamilyName)
needed += WideCharToMultiByte(CP_ACP, 0, needed += WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpFamilyName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpFamilyName), -1,
NULL, 0, NULL, NULL); NULL, 0, NULL, NULL);
if(lpOTMW->otmpFaceName) if(lpOTMW->otmpFaceName)
needed += WideCharToMultiByte(CP_ACP, 0, needed += WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpFaceName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpFaceName), -1,
NULL, 0, NULL, NULL); NULL, 0, NULL, NULL);
if(lpOTMW->otmpStyleName) if(lpOTMW->otmpStyleName)
needed += WideCharToMultiByte(CP_ACP, 0, needed += WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpStyleName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpStyleName), -1,
NULL, 0, NULL, NULL); NULL, 0, NULL, NULL);
if(lpOTMW->otmpFullName) if(lpOTMW->otmpFullName)
needed += WideCharToMultiByte(CP_ACP, 0, needed += WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpFullName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpFullName), -1,
NULL, 0, NULL, NULL); NULL, 0, NULL, NULL);
if(!lpOTM) if(!lpOTM)
@ -1168,7 +1168,7 @@ GetOutlineTextMetricsA(
{ {
output->otmpFamilyName = (LPSTR)(ptr - (char*)output); output->otmpFamilyName = (LPSTR)(ptr - (char*)output);
len = WideCharToMultiByte(CP_ACP, 0, len = WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpFamilyName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpFamilyName), -1,
ptr, left, NULL, NULL); ptr, left, NULL, NULL);
left -= len; left -= len;
ptr += len; ptr += len;
@ -1180,7 +1180,7 @@ GetOutlineTextMetricsA(
{ {
output->otmpFaceName = (LPSTR)(ptr - (char*)output); output->otmpFaceName = (LPSTR)(ptr - (char*)output);
len = WideCharToMultiByte(CP_ACP, 0, len = WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpFaceName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpFaceName), -1,
ptr, left, NULL, NULL); ptr, left, NULL, NULL);
left -= len; left -= len;
ptr += len; ptr += len;
@ -1192,7 +1192,7 @@ GetOutlineTextMetricsA(
{ {
output->otmpStyleName = (LPSTR)(ptr - (char*)output); output->otmpStyleName = (LPSTR)(ptr - (char*)output);
len = WideCharToMultiByte(CP_ACP, 0, len = WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpStyleName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpStyleName), -1,
ptr, left, NULL, NULL); ptr, left, NULL, NULL);
left -= len; left -= len;
ptr += len; ptr += len;
@ -1204,7 +1204,7 @@ GetOutlineTextMetricsA(
{ {
output->otmpFullName = (LPSTR)(ptr - (char*)output); output->otmpFullName = (LPSTR)(ptr - (char*)output);
len = WideCharToMultiByte(CP_ACP, 0, len = WideCharToMultiByte(CP_ACP, 0,
(WCHAR*)((char*)lpOTMW + (int)lpOTMW->otmpFullName), -1, (WCHAR*)((char*)lpOTMW + (intptr_t)lpOTMW->otmpFullName), -1,
ptr, left, NULL, NULL); ptr, left, NULL, NULL);
left -= len; left -= len;
} }
@ -2122,7 +2122,8 @@ NewEnumFontFamiliesExW(
LPARAM lParam, LPARAM lParam,
DWORD dwFlags) DWORD dwFlags)
{ {
ULONG_PTR idEnum, cbDataSize, cbRetSize; ULONG_PTR idEnum;
ULONG cbDataSize, cbRetSize;
PENUMFONTDATAW pEfdw; PENUMFONTDATAW pEfdw;
PBYTE pBuffer; PBYTE pBuffer;
PBYTE pMax; PBYTE pMax;

View file

@ -575,7 +575,7 @@ HRGN
WINAPI WINAPI
CreatePolygonRgn( const POINT * lppt, int cPoints, int fnPolyFillMode) CreatePolygonRgn( const POINT * lppt, int cPoints, int fnPolyFillMode)
{ {
return (HRGN) NtGdiPolyPolyDraw( (HDC) fnPolyFillMode, (PPOINT) lppt, (PULONG) &cPoints, 1, GdiPolyPolyRgn); return (HRGN) NtGdiPolyPolyDraw( (HDC)UlongToHandle(fnPolyFillMode), (PPOINT) lppt, (PULONG) &cPoints, 1, GdiPolyPolyRgn);
} }
/* /*
@ -588,7 +588,7 @@ CreatePolyPolygonRgn( const POINT* lppt,
int nCount, int nCount,
int fnPolyFillMode) int fnPolyFillMode)
{ {
return (HRGN) NtGdiPolyPolyDraw( (HDC) fnPolyFillMode, (PPOINT) lppt, (PULONG) lpPolyCounts, (ULONG) nCount, GdiPolyPolyRgn ); return (HRGN) NtGdiPolyPolyDraw( (HDC)UlongToHandle(fnPolyFillMode), (PPOINT) lppt, (PULONG) lpPolyCounts, (ULONG) nCount, GdiPolyPolyRgn );
} }
/* /*

View file

@ -731,7 +731,7 @@ HRGN
DRIVER_PathToRegion(PHYSDEV physdev) DRIVER_PathToRegion(PHYSDEV physdev)
{ {
DPRINT1("DRIVER_PathToRegion\n"); DPRINT1("DRIVER_PathToRegion\n");
return (HRGN)physdev->funcs->pAbortPath( physdev ); return (HRGN)(ULONG_PTR)physdev->funcs->pAbortPath( physdev );
} }