Module: wine Branch: master Commit: 3787b43428c68214c6687fbd56db9404964af84d URL: https://source.winehq.org/git/wine.git/?a=commit;h=3787b43428c68214c6687fbd5...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Aug 16 10:26:58 2021 +0200
gdi32: Use NtGdiCreatePaletteInternal for CreatePalette.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/gdi32/objects.c | 9 +++++++++ dlls/gdi32/palette.c | 13 ++++--------- include/ntgdi.h | 1 + 3 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/dlls/gdi32/objects.c b/dlls/gdi32/objects.c index 0832095f4c3..6516ac533f5 100644 --- a/dlls/gdi32/objects.c +++ b/dlls/gdi32/objects.c @@ -516,3 +516,12 @@ HCOLORSPACE WINAPI SetColorSpace( HDC hdc, HCOLORSPACE cs ) FIXME( "stub\n" ); return cs; } + +/*********************************************************************** + * CreatePalette (GDI32.@) + */ +HPALETTE WINAPI CreatePalette( const LOGPALETTE *palette ) +{ + if (!palette) return 0; + return NtGdiCreatePaletteInternal( palette, palette->palNumEntries ); +} diff --git a/dlls/gdi32/palette.c b/dlls/gdi32/palette.c index e767bd7e949..ae5a0b8bcc4 100644 --- a/dlls/gdi32/palette.c +++ b/dlls/gdi32/palette.c @@ -94,28 +94,23 @@ HPALETTE PALETTE_Init(void)
/*********************************************************************** - * CreatePalette [GDI32.@] + * NtGdiCreatePaletteInternal (win32u.@) * * Creates a logical color palette. - * - * RETURNS - * Success: Handle to logical palette - * Failure: NULL */ -HPALETTE WINAPI CreatePalette( - const LOGPALETTE* palette) /* [in] Pointer to logical color palette */ +HPALETTE WINAPI NtGdiCreatePaletteInternal( const LOGPALETTE *palette, UINT count ) { PALETTEOBJ * palettePtr; HPALETTE hpalette; int size;
if (!palette) return 0; - TRACE("entries=%i\n", palette->palNumEntries); + TRACE( "entries=%u\n", count );
if (!(palettePtr = HeapAlloc( GetProcessHeap(), 0, sizeof(*palettePtr) ))) return 0; palettePtr->unrealize = NULL; palettePtr->version = palette->palVersion; - palettePtr->count = palette->palNumEntries; + palettePtr->count = count; size = palettePtr->count * sizeof(*palettePtr->entries); if (!(palettePtr->entries = HeapAlloc( GetProcessHeap(), 0, size ))) { diff --git a/include/ntgdi.h b/include/ntgdi.h index a48464f67a8..077f845512e 100644 --- a/include/ntgdi.h +++ b/include/ntgdi.h @@ -164,6 +164,7 @@ BOOL WINAPI NtGdiComputeXformCoefficients( HDC hdc ); HBITMAP WINAPI NtGdiCreateBitmap( INT width, INT height, UINT planes, UINT bpp, const void *bits ); HBRUSH WINAPI NtGdiCreateHatchBrushInternal( INT style, COLORREF color, BOOL pen ); +HPALETTE WINAPI NtGdiCreatePaletteInternal( const LOGPALETTE *palette, UINT count ); BOOL WINAPI NtGdiEllipse( HDC hdc, INT left, INT top, INT right, INT bottom ); INT WINAPI NtGdiEndDoc(HDC hdc); BOOL WINAPI NtGdiEndPath( HDC hdc );