Hello,

I have made a patch for comdlg32 on Mac OS X that replaces Wine's own color picker dialog with the native one.
Bellow are the sources for colordlg.c, cocoa_colordlg.m and Makefile.in (without comments).

-------------------- colordlg.c --------------------

static BOOL ChooseColor_CocoaCommon(COLORREF *color, BOOL init);

BOOL WINAPI ChooseColorW( CHOOSECOLORW *lpChCol )
{
��� if (!lpChCol) return FALSE;
��� return ChooseColor_CocoaCommon(&lpChCol->rgbResult, lpChCol->Flags & CC_RGBINIT);
}

BOOL WINAPI ChooseColorA( LPCHOOSECOLORA lpChCol )
{
��� if (!lpChCol) return FALSE;
��� return ChooseColor_CocoaCommon(&lpChCol->rgbResult, lpChCol->Flags & CC_RGBINIT);
}

struct RGBColor {
��� unsigned short red;
��� unsigned short green;
��� unsigned short blue;
};

int cocoa_run_color_dialog_modal(struct RGBColor *color);

static BOOL ChooseColor_CocoaCommon(COLORREF *color, BOOL init) {
��� struct RGBColor rgb = { 0, 0, 0 };
��� if (init) {
��������� rgb.red = GetRValue(*color) * 257;
��������� rgb.green = GetGValue(*color) * 257;
��������� rgb.blue = GetBValue(*color) * 257;
��� }
��� BOOL ret = cocoa_run_color_dialog_modal(&rgb);
��� if (ret) *color = RGB(rgb.red / 257, rgb.green / 257, rgb.blue / 257);
��� return ret;
}


-------------------- cocoa_colordlg.m --------------------

#import <AppKit/AppKit.h>
#import <Carbon/Carbon.h>

int cocoa_run_color_dialog_modal(RGBColor *color) {
��� __block int ret = 0;
���
��� void (^block)(void) = ^{
��������� ret = GetColor((Point){ 0, 0 }, (const unsigned char *)"Color", color, color);
��� };
���
��� if ([NSThread isMainThread]) block();
��� else dispatch_sync(dispatch_get_main_queue(), block);
���
��� return ret;
}


-------------------- Makefile.in --------------------

MODULE��������� = comdlg32.dll
IMPORTLIB = comdlg32
IMPORTS������ = uuid shell32 shlwapi comctl32 winspool user32 gdi32 advapi32
DELAYIMPORTS = ole32
EXTRALIBS = -framework AppKit -framework Carbon

C_SRCS = \
��������� cdlg32.c \
��������� colordlg.c \
��������� filedlg.c \
��������� filedlg31.c \
��������� filedlgbrowser.c \
��������� finddlg.c \
��������� fontdlg.c \
��������� itemdlg.c \
��������� printdlg.c

RC_SRCS = comdlg32.rc

SVG_SRCS = \
��������� pd32_collate.svg \
��������� pd32_landscape.svg \
��������� pd32_nocollate.svg \
��������� pd32_portrait.svg

OBJC_SRCS = \
��������� cocoa_colordlg.m

IDL_R_SRCS = comdlg32_classes.idl

@MAKE_DLL_RULES@


------------------------------------------------------------

Any comments are welcome.