Jacek Caban : gdi32: Use NtGdiCreatePaletteInternal for CreatePalette.
Alexandre Julliard
julliard at winehq.org
Mon Aug 16 18:07:24 CDT 2021
Module: wine
Branch: master
Commit: 3787b43428c68214c6687fbd56db9404964af84d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3787b43428c68214c6687fbd56db9404964af84d
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Aug 16 10:26:58 2021 +0200
gdi32: Use NtGdiCreatePaletteInternal for CreatePalette.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 );
More information about the wine-cvs
mailing list