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