diff --git a/dlls/gdi32/enhmfdrv/dc.c b/dlls/gdi32/enhmfdrv/dc.c index 485d20585ed..74300b43a91 100644 --- a/dlls/gdi32/enhmfdrv/dc.c +++ b/dlls/gdi32/enhmfdrv/dc.c @@ -317,10 +317,10 @@ INT EMFDRV_GetDeviceCaps(PHYSDEV dev, INT cap) return physDev->technology; case PLANES: return physDev->planes; - + case NUMCOLORS: + return physDev->numcolors; default: FIXME("Unimplemented cap %d\n", cap); return 0; - } } diff --git a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h index 6d84d19684a..b0d6bf09d70 100644 --- a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h +++ b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h @@ -46,6 +46,7 @@ typedef struct INT rastercaps; INT technology; INT planes; + INT numcolors; } EMFDRV_PDEVICE; diff --git a/dlls/gdi32/enhmfdrv/init.c b/dlls/gdi32/enhmfdrv/init.c index 82d61c671ff..4f418e1f755 100644 --- a/dlls/gdi32/enhmfdrv/init.c +++ b/dlls/gdi32/enhmfdrv/init.c @@ -356,6 +356,7 @@ HDC WINAPI CreateEnhMetaFileW( physDev->rastercaps = GetDeviceCaps(hRefDC, RASTERCAPS); physDev->technology = GetDeviceCaps(hRefDC, TECHNOLOGY); physDev->planes = GetDeviceCaps(hRefDC, PLANES); + physDev->numcolors = GetDeviceCaps(hRefDC, NUMCOLORS); physDev->emh->iType = EMR_HEADER; physDev->emh->nSize = size;