[PATCH] gdi32/winex11: Change all gdi/opengl operations to use CDECL callconv

Maarten Lankhorst m.b.lankhorst at gmail.com
Tue Dec 16 07:18:49 CST 2008


---
 dlls/gdi32/enhmfdrv/bitblt.c         |   12 +-
 dlls/gdi32/enhmfdrv/dc.c             |   48 +++---
 dlls/gdi32/enhmfdrv/enhmetafiledrv.h |  198 +++++++++++++-------------
 dlls/gdi32/enhmfdrv/graphics.c       |   48 +++---
 dlls/gdi32/enhmfdrv/mapping.c        |   26 ++--
 dlls/gdi32/enhmfdrv/objects.c        |   14 +-
 dlls/gdi32/gdi_private.h             |  268 +++++++++++++++++-----------------
 dlls/gdi32/mfdrv/bitblt.c            |   28 ++--
 dlls/gdi32/mfdrv/dc.c                |   48 +++---
 dlls/gdi32/mfdrv/graphics.c          |   44 +++---
 dlls/gdi32/mfdrv/init.c              |    6 +-
 dlls/gdi32/mfdrv/mapping.c           |   18 +-
 dlls/gdi32/mfdrv/metafiledrv.h       |  200 +++++++++++++-------------
 dlls/gdi32/mfdrv/objects.c           |   16 +-
 dlls/gdi32/mfdrv/text.c              |    2 +-
 dlls/winex11.drv/bitblt.c            |   12 +-
 dlls/winex11.drv/bitmap.c            |   10 +-
 dlls/winex11.drv/brush.c             |    4 +-
 dlls/winex11.drv/dib.c               |   22 ++--
 dlls/winex11.drv/graphics.c          |   42 +++---
 dlls/winex11.drv/init.c              |   12 +-
 dlls/winex11.drv/opengl.c            |   74 +++++-----
 dlls/winex11.drv/pen.c               |    4 +-
 dlls/winex11.drv/text.c              |    6 +-
 dlls/winex11.drv/x11drv.h            |  144 +++++++++---------
 dlls/winex11.drv/xfont.c             |   12 +-
 dlls/winex11.drv/xrender.c           |    6 +-
 dlls/winex11.drv/xvidmode.c          |    4 +-
 28 files changed, 663 insertions(+), 665 deletions(-)

diff --git a/dlls/gdi32/enhmfdrv/bitblt.c b/dlls/gdi32/enhmfdrv/bitblt.c
index 0458ac1..836bbc6 100644
--- a/dlls/gdi32/enhmfdrv/bitblt.c
+++ b/dlls/gdi32/enhmfdrv/bitblt.c
@@ -27,8 +27,8 @@
 #include "enhmetafiledrv.h"
 #include "wine/debug.h"
 
-BOOL EMFDRV_PatBlt( PHYSDEV dev, INT left, INT top,
-                    INT width, INT height, DWORD rop )
+BOOL CDECL EMFDRV_PatBlt( PHYSDEV dev, INT left, INT top,
+                            INT width, INT height, DWORD rop )
 {
     EMRBITBLT emr;
     BOOL ret;
@@ -173,7 +173,7 @@ static BOOL EMFDRV_BitBlockTransfer(
     return ret;
 }
 
-BOOL EMFDRV_BitBlt( 
+BOOL CDECL EMFDRV_BitBlt(
     PHYSDEV devDst, INT xDst, INT yDst, INT width, INT height,
     PHYSDEV devSrc, INT xSrc, INT ySrc, DWORD rop)
 {
@@ -182,7 +182,7 @@ BOOL EMFDRV_BitBlt(
                                     rop, EMR_BITBLT );
 }
 
-BOOL EMFDRV_StretchBlt( 
+BOOL CDECL EMFDRV_StretchBlt(
     PHYSDEV devDst, INT xDst, INT yDst, INT widthDst, INT heightDst,  
     PHYSDEV devSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc, DWORD rop )
 {
@@ -191,7 +191,7 @@ BOOL EMFDRV_StretchBlt(
                                     rop, EMR_STRETCHBLT );
 }
 
-INT EMFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
+INT CDECL EMFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
                                       INT heightDst, INT xSrc, INT ySrc,
                                       INT widthSrc, INT heightSrc,
                                       const void *bits, const BITMAPINFO *info,
@@ -254,7 +254,7 @@ INT EMFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
     return ret ? heightSrc : GDI_ERROR;
 }
 
-INT EMFDRV_SetDIBitsToDevice( 
+INT CDECL EMFDRV_SetDIBitsToDevice(
     PHYSDEV dev, INT xDst, INT yDst, DWORD width, DWORD height,
     INT xSrc, INT ySrc, UINT startscan, UINT lines,
     LPCVOID bits, const BITMAPINFO *info, UINT wUsage )
diff --git a/dlls/gdi32/enhmfdrv/dc.c b/dlls/gdi32/enhmfdrv/dc.c
index 0115991..f08b17d 100644
--- a/dlls/gdi32/enhmfdrv/dc.c
+++ b/dlls/gdi32/enhmfdrv/dc.c
@@ -23,7 +23,7 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(enhmetafile);
 
-INT EMFDRV_SaveDC( PHYSDEV dev )
+INT CDECL EMFDRV_SaveDC( PHYSDEV dev )
 {
     EMRSAVEDC emr;
     emr.emr.iType = EMR_SAVEDC;
@@ -31,7 +31,7 @@ INT EMFDRV_SaveDC( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_RestoreDC( PHYSDEV dev, INT level )
+BOOL CDECL EMFDRV_RestoreDC( PHYSDEV dev, INT level )
 {
     EMFDRV_PDEVICE* physDev = (EMFDRV_PDEVICE*)dev;
     DC *dc = get_dc_ptr( physDev->hdc );
@@ -51,7 +51,7 @@ BOOL EMFDRV_RestoreDC( PHYSDEV dev, INT level )
     return TRUE;
 }
 
-UINT EMFDRV_SetTextAlign( PHYSDEV dev, UINT align )
+UINT CDECL EMFDRV_SetTextAlign( PHYSDEV dev, UINT align )
 {
     EMRSETTEXTALIGN emr;
     emr.emr.iType = EMR_SETTEXTALIGN;
@@ -60,7 +60,7 @@ UINT EMFDRV_SetTextAlign( PHYSDEV dev, UINT align )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_SetTextJustification(PHYSDEV dev, INT nBreakExtra, INT nBreakCount)
+BOOL CDECL EMFDRV_SetTextJustification(PHYSDEV dev, INT nBreakExtra, INT nBreakCount)
 {
     EMRSETTEXTJUSTIFICATION emr;
     emr.emr.iType = EMR_SETTEXTJUSTIFICATION;
@@ -70,7 +70,7 @@ BOOL EMFDRV_SetTextJustification(PHYSDEV dev, INT nBreakExtra, INT nBreakCount)
     return EMFDRV_WriteRecord(dev, &emr.emr);
 }
 
-INT EMFDRV_SetBkMode( PHYSDEV dev, INT mode )
+INT CDECL EMFDRV_SetBkMode( PHYSDEV dev, INT mode )
 {
     EMRSETBKMODE emr;
     emr.emr.iType = EMR_SETBKMODE;
@@ -79,7 +79,7 @@ INT EMFDRV_SetBkMode( PHYSDEV dev, INT mode )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_SetROP2( PHYSDEV dev, INT rop )
+INT CDECL EMFDRV_SetROP2( PHYSDEV dev, INT rop )
 {
     EMRSETROP2 emr;
     emr.emr.iType = EMR_SETROP2;
@@ -88,7 +88,7 @@ INT EMFDRV_SetROP2( PHYSDEV dev, INT rop )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_SetPolyFillMode( PHYSDEV dev, INT mode )
+INT CDECL EMFDRV_SetPolyFillMode( PHYSDEV dev, INT mode )
 {
     EMRSETPOLYFILLMODE emr;
     emr.emr.iType = EMR_SETPOLYFILLMODE;
@@ -97,7 +97,7 @@ INT EMFDRV_SetPolyFillMode( PHYSDEV dev, INT mode )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_SetStretchBltMode( PHYSDEV dev, INT mode )
+INT CDECL EMFDRV_SetStretchBltMode( PHYSDEV dev, INT mode )
 {
     EMRSETSTRETCHBLTMODE emr;
     emr.emr.iType = EMR_SETSTRETCHBLTMODE;
@@ -106,7 +106,7 @@ INT EMFDRV_SetStretchBltMode( PHYSDEV dev, INT mode )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
+INT CDECL EMFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 {
     EMREXCLUDECLIPRECT emr;
     emr.emr.iType      = EMR_EXCLUDECLIPRECT;
@@ -118,7 +118,7 @@ INT EMFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT botto
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom)
+INT CDECL EMFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom)
 {
     EMRINTERSECTCLIPRECT emr;
     emr.emr.iType      = EMR_INTERSECTCLIPRECT;
@@ -130,7 +130,7 @@ INT EMFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bot
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
+INT CDECL EMFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
 {
     EMROFFSETCLIPRGN emr;
     emr.emr.iType   = EMR_OFFSETCLIPRGN;
@@ -140,7 +140,7 @@ INT EMFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode )
+INT CDECL EMFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode )
 {
     EMREXTSELECTCLIPRGN *emr;
     DWORD size, rgnsize;
@@ -167,7 +167,7 @@ INT EMFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode )
     return ret ? SIMPLEREGION : ERROR;
 }
 
-DWORD EMFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags )
+DWORD CDECL EMFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags )
 {
     EMRSETMAPPERFLAGS emr;
 
@@ -178,7 +178,7 @@ DWORD EMFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_AbortPath( PHYSDEV dev )
+BOOL CDECL EMFDRV_AbortPath( PHYSDEV dev )
 {
     EMRABORTPATH emr;
 
@@ -188,7 +188,7 @@ BOOL EMFDRV_AbortPath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_BeginPath( PHYSDEV dev )
+BOOL CDECL EMFDRV_BeginPath( PHYSDEV dev )
 {
     EMRBEGINPATH emr;
 
@@ -198,7 +198,7 @@ BOOL EMFDRV_BeginPath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_CloseFigure( PHYSDEV dev )
+BOOL CDECL EMFDRV_CloseFigure( PHYSDEV dev )
 {
     EMRCLOSEFIGURE emr;
 
@@ -208,7 +208,7 @@ BOOL EMFDRV_CloseFigure( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_EndPath( PHYSDEV dev )
+BOOL CDECL EMFDRV_EndPath( PHYSDEV dev )
 {
     EMRENDPATH emr;
 
@@ -218,7 +218,7 @@ BOOL EMFDRV_EndPath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_FillPath( PHYSDEV dev )
+BOOL CDECL EMFDRV_FillPath( PHYSDEV dev )
 {
     EMRFILLPATH emr;
 
@@ -232,7 +232,7 @@ BOOL EMFDRV_FillPath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_FlattenPath( PHYSDEV dev )
+BOOL CDECL EMFDRV_FlattenPath( PHYSDEV dev )
 {
     EMRFLATTENPATH emr;
 
@@ -242,7 +242,7 @@ BOOL EMFDRV_FlattenPath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode )
+BOOL CDECL EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode )
 {
     EMRSELECTCLIPPATH emr;
 
@@ -253,7 +253,7 @@ BOOL EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_StrokeAndFillPath( PHYSDEV dev )
+BOOL CDECL EMFDRV_StrokeAndFillPath( PHYSDEV dev )
 {
     EMRSTROKEANDFILLPATH emr;
 
@@ -267,7 +267,7 @@ BOOL EMFDRV_StrokeAndFillPath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_StrokePath( PHYSDEV dev )
+BOOL CDECL EMFDRV_StrokePath( PHYSDEV dev )
 {
     EMRSTROKEPATH emr;
 
@@ -281,7 +281,7 @@ BOOL EMFDRV_StrokePath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_WidenPath( PHYSDEV dev )
+BOOL CDECL EMFDRV_WidenPath( PHYSDEV dev )
 {
     EMRWIDENPATH emr;
 
@@ -291,7 +291,7 @@ BOOL EMFDRV_WidenPath( PHYSDEV dev )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
+INT CDECL EMFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
 {
     EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*) dev;
 
diff --git a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h
index c00c653..e33dc7f 100644
--- a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h
+++ b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h
@@ -56,108 +56,108 @@ extern DWORD EMFDRV_CreateBrushIndirect( PHYSDEV dev, HBRUSH hBrush ) DECLSPEC_H
 #define HANDLE_LIST_INC 20
 
 /* Metafile driver functions */
-extern BOOL     EMFDRV_AbortPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right,
-                            INT bottom, INT xstart, INT ystart, INT xend,
-                            INT yend ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_BeginPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_BitBlt( PHYSDEV devDst, INT xDst, INT yDst,
-                               INT width, INT height, PHYSDEV devSrc,
-                               INT xSrc, INT ySrc, DWORD rop ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right,
-                              INT bottom, INT xstart, INT ystart, INT xend,
-                              INT yend ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_CloseFigure( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_Ellipse( PHYSDEV dev, INT left, INT top,
-                                INT right, INT bottom ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_EndPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y,
-                                   UINT flags, const RECT *lprect, LPCWSTR str,
-                                   UINT count, const INT *lpDx ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_FillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_FlattenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT width,
-                                 INT height ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_GdiComment( PHYSDEV dev, UINT bytes, CONST BYTE *buffer ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_GetDeviceCaps( PHYSDEV dev, INT cap ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right,
-                                          INT bottom ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_LineTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_ModifyWorldTransform( PHYSDEV dev, const XFORM *xform, INT mode ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_MoveTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_PatBlt( PHYSDEV dev, INT left, INT top,
-                               INT width, INT height, DWORD rop ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right,
-                            INT bottom, INT xstart, INT ystart, INT xend,
-                            INT yend ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt,
-                                    const INT* counts, UINT polys) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_PolyPolyline( PHYSDEV dev, const POINT* pt,
-                                     const DWORD* counts, DWORD polys) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_Polygon( PHYSDEV dev, const POINT* pt, INT count ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_Polyline( PHYSDEV dev, const POINT* pt,INT count) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_Rectangle( PHYSDEV dev, INT left, INT top,
-                                  INT right, INT bottom) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_RestoreDC( PHYSDEV dev, INT level ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_RoundRect( PHYSDEV dev, INT left, INT top,
-                                  INT right, INT bottom, INT ell_width,
-                                  INT ell_height ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SaveDC( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum,
-                                         INT xDenom, INT yNum, INT yDenom ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom,
-                                       INT yNum, INT yDenom ) DECLSPEC_HIDDEN;
-extern HBITMAP  EMFDRV_SelectBitmap( PHYSDEV dev, HBITMAP handle ) DECLSPEC_HIDDEN;
-extern HBRUSH   EMFDRV_SelectBrush( PHYSDEV dev, HBRUSH handle ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode ) DECLSPEC_HIDDEN;
-extern HFONT    EMFDRV_SelectFont( PHYSDEV dev, HFONT handle, HANDLE gdiFont ) DECLSPEC_HIDDEN;
-extern HPEN     EMFDRV_SelectPen( PHYSDEV dev, HPEN handle ) DECLSPEC_HIDDEN;
-extern HPALETTE EMFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPal, BOOL force ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetArcDirection( PHYSDEV dev, INT arcDirection ) DECLSPEC_HIDDEN;
-extern COLORREF EMFDRV_SetBkColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetBkMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDest, INT yDest,
-                                          DWORD cx, DWORD cy, INT xSrc,
+extern BOOL     CDECL EMFDRV_AbortPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right,
+                                    INT bottom, INT xstart, INT ystart, INT xend,
+                                    INT yend ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_BeginPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_BitBlt( PHYSDEV devDst, INT xDst, INT yDst,
+                                       INT width, INT height, PHYSDEV devSrc,
+                                       INT xSrc, INT ySrc, DWORD rop ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right,
+                                      INT bottom, INT xstart, INT ystart, INT xend,
+                                      INT yend ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_CloseFigure( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_Ellipse( PHYSDEV dev, INT left, INT top,
+                                        INT right, INT bottom ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_EndPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y,
+                                           UINT flags, const RECT *lprect, LPCWSTR str,
+                                           UINT count, const INT *lpDx ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_FillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_FlattenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT width,
+                                         INT height ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_GdiComment( PHYSDEV dev, UINT bytes, CONST BYTE *buffer ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_GetDeviceCaps( PHYSDEV dev, INT cap ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right,
+                                                  INT bottom ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_LineTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_ModifyWorldTransform( PHYSDEV dev, const XFORM *xform, INT mode ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_MoveTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_PatBlt( PHYSDEV dev, INT left, INT top,
+                                       INT width, INT height, DWORD rop ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right,
+                                    INT bottom, INT xstart, INT ystart, INT xend,
+                                    INT yend ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt,
+                                            const INT* counts, UINT polys) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_PolyPolyline( PHYSDEV dev, const POINT* pt,
+                                             const DWORD* counts, DWORD polys) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_Polygon( PHYSDEV dev, const POINT* pt, INT count ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_Polyline( PHYSDEV dev, const POINT* pt,INT count) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_Rectangle( PHYSDEV dev, INT left, INT top,
+                                          INT right, INT bottom) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_RestoreDC( PHYSDEV dev, INT level ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_RoundRect( PHYSDEV dev, INT left, INT top,
+                                          INT right, INT bottom, INT ell_width,
+                                          INT ell_height ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SaveDC( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum,
+                                                 INT xDenom, INT yNum, INT yDenom ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom,
+                                               INT yNum, INT yDenom ) DECLSPEC_HIDDEN;
+extern HBITMAP  CDECL EMFDRV_SelectBitmap( PHYSDEV dev, HBITMAP handle ) DECLSPEC_HIDDEN;
+extern HBRUSH   CDECL EMFDRV_SelectBrush( PHYSDEV dev, HBRUSH handle ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_SelectClipPath( PHYSDEV dev, INT iMode ) DECLSPEC_HIDDEN;
+extern HFONT    CDECL EMFDRV_SelectFont( PHYSDEV dev, HFONT handle, HANDLE gdiFont ) DECLSPEC_HIDDEN;
+extern HPEN     CDECL EMFDRV_SelectPen( PHYSDEV dev, HPEN handle ) DECLSPEC_HIDDEN;
+extern HPALETTE CDECL EMFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPal, BOOL force ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetArcDirection( PHYSDEV dev, INT arcDirection ) DECLSPEC_HIDDEN;
+extern COLORREF CDECL EMFDRV_SetBkColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetBkMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDest, INT yDest,
+                                                  DWORD cx, DWORD cy, INT xSrc,
                                           INT ySrc, UINT startscan, UINT lines,
                                           LPCVOID bits, const BITMAPINFO *info,
                                           UINT coloruse ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetMapMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern DWORD    EMFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags ) DECLSPEC_HIDDEN;
-extern COLORREF EMFDRV_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetPolyFillMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetROP2( PHYSDEV dev, INT rop ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetStretchBltMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern UINT     EMFDRV_SetTextAlign( PHYSDEV dev, UINT align ) DECLSPEC_HIDDEN;
-extern COLORREF EMFDRV_SetTextColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_SetTextJustification( PHYSDEV dev, INT nBreakExtra,
-                                             INT nBreakCount ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetViewportExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetWindowExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_SetWorldTransform( PHYSDEV dev, const XFORM *xform ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_StretchBlt( PHYSDEV devDst, INT xDst, INT yDst,
-                                   INT widthDst, INT heightDst,
-                                   PHYSDEV devSrc, INT xSrc, INT ySrc,
-                                   INT widthSrc, INT heightSrc, DWORD rop ) DECLSPEC_HIDDEN;
-extern INT      EMFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
-                                      INT heightDst, INT xSrc, INT ySrc,
-                                      INT widthSrc, INT heightSrc,
-                                      const void *bits, const BITMAPINFO *info,
-                                      UINT wUsage, DWORD dwRop ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL     EMFDRV_WidenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetMapMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern DWORD    CDECL EMFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags ) DECLSPEC_HIDDEN;
+extern COLORREF CDECL EMFDRV_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetPolyFillMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetROP2( PHYSDEV dev, INT rop ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetStretchBltMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern UINT     CDECL EMFDRV_SetTextAlign( PHYSDEV dev, UINT align ) DECLSPEC_HIDDEN;
+extern COLORREF CDECL EMFDRV_SetTextColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_SetTextJustification( PHYSDEV dev, INT nBreakExtra,
+                                                     INT nBreakCount ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetViewportExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetWindowExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_SetWorldTransform( PHYSDEV dev, const XFORM *xform ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_StretchBlt( PHYSDEV devDst, INT xDst, INT yDst,
+                                           INT widthDst, INT heightDst,
+                                           PHYSDEV devSrc, INT xSrc, INT ySrc,
+                                           INT widthSrc, INT heightSrc, DWORD rop ) DECLSPEC_HIDDEN;
+extern INT      CDECL EMFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
+                                              INT heightDst, INT xSrc, INT ySrc,
+                                              INT widthSrc, INT heightSrc,
+                                              const void *bits, const BITMAPINFO *info,
+                                              UINT wUsage, DWORD dwRop ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL     CDECL EMFDRV_WidenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
 
 
 #endif  /* __WINE_METAFILEDRV_H */
diff --git a/dlls/gdi32/enhmfdrv/graphics.c b/dlls/gdi32/enhmfdrv/graphics.c
index 28f34cd..77ab183 100644
--- a/dlls/gdi32/enhmfdrv/graphics.c
+++ b/dlls/gdi32/enhmfdrv/graphics.c
@@ -36,7 +36,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(enhmetafile);
 /**********************************************************************
  *	     EMFDRV_MoveTo
  */
-BOOL
+BOOL CDECL
 EMFDRV_MoveTo(PHYSDEV dev, INT x, INT y)
 {
     EMRMOVETOEX emr;
@@ -52,7 +52,7 @@ EMFDRV_MoveTo(PHYSDEV dev, INT x, INT y)
 /***********************************************************************
  *           EMFDRV_LineTo
  */
-BOOL
+BOOL CDECL
 EMFDRV_LineTo( PHYSDEV dev, INT x, INT y )
 {
     POINT pt;
@@ -188,7 +188,7 @@ EMFDRV_ArcChordPie( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           EMFDRV_Arc
  */
-BOOL
+BOOL CDECL
 EMFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 	    INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -199,7 +199,7 @@ EMFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           EMFDRV_Pie
  */
-BOOL
+BOOL CDECL
 EMFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 	    INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -211,7 +211,7 @@ EMFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           EMFDRV_Chord
  */
-BOOL
+BOOL CDECL
 EMFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
              INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -222,7 +222,7 @@ EMFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           EMFDRV_Ellipse
  */
-BOOL
+BOOL CDECL
 EMFDRV_Ellipse( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 {
     EMRELLIPSE emr;
@@ -255,7 +255,7 @@ EMFDRV_Ellipse( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 /***********************************************************************
  *           EMFDRV_Rectangle
  */
-BOOL
+BOOL CDECL
 EMFDRV_Rectangle(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
 {
     EMRRECTANGLE emr;
@@ -288,7 +288,7 @@ EMFDRV_Rectangle(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
 /***********************************************************************
  *           EMFDRV_RoundRect
  */
-BOOL
+BOOL CDECL
 EMFDRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right,
 		  INT bottom, INT ell_width, INT ell_height )
 {
@@ -322,7 +322,7 @@ EMFDRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right,
 /***********************************************************************
  *           EMFDRV_SetPixel
  */
-COLORREF
+COLORREF CDECL
 EMFDRV_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color )
 {
     EMRSETPIXELV emr;
@@ -447,7 +447,7 @@ EMFDRV_Polylinegon16( PHYSDEV dev, const POINT* pt, INT count, DWORD iType )
 /**********************************************************************
  *          EMFDRV_Polyline
  */
-BOOL
+BOOL CDECL
 EMFDRV_Polyline( PHYSDEV dev, const POINT* pt, INT count )
 {
     if( EMFDRV_Polylinegon16( dev, pt, count, EMR_POLYLINE16 ) )
@@ -458,7 +458,7 @@ EMFDRV_Polyline( PHYSDEV dev, const POINT* pt, INT count )
 /**********************************************************************
  *          EMFDRV_Polygon
  */
-BOOL
+BOOL CDECL
 EMFDRV_Polygon( PHYSDEV dev, const POINT* pt, INT count )
 {
     if(count < 2) return FALSE;
@@ -521,7 +521,7 @@ EMFDRV_PolyPolylinegon( PHYSDEV dev, const POINT* pt, const INT* counts, UINT po
 /**********************************************************************
  *          EMFDRV_PolyPolyline
  */
-BOOL
+BOOL CDECL
 EMFDRV_PolyPolyline(PHYSDEV dev, const POINT* pt, const DWORD* counts, DWORD polys)
 {
     return EMFDRV_PolyPolylinegon( dev, pt, (const INT *)counts, polys,
@@ -531,7 +531,7 @@ EMFDRV_PolyPolyline(PHYSDEV dev, const POINT* pt, const DWORD* counts, DWORD pol
 /**********************************************************************
  *          EMFDRV_PolyPolygon
  */
-BOOL
+BOOL CDECL
 EMFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt, const INT* counts, UINT polys )
 {
     return EMFDRV_PolyPolylinegon( dev, pt, counts, polys, EMR_POLYPOLYGON );
@@ -541,7 +541,7 @@ EMFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt, const INT* counts, UINT polys
 /**********************************************************************
  *          EMFDRV_ExtFloodFill
  */
-BOOL
+BOOL CDECL
 EMFDRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType )
 {
     EMREXTFLOODFILL emr;
@@ -560,7 +560,7 @@ EMFDRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType )
 /*********************************************************************
  *          EMFDRV_FillRgn
  */
-BOOL EMFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush )
+BOOL CDECL EMFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush )
 {
     EMRFILLRGN *emr;
     DWORD size, rgnsize, index;
@@ -593,7 +593,7 @@ BOOL EMFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush )
 /*********************************************************************
  *          EMFDRV_FrameRgn
  */
-BOOL EMFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT width, INT height )
+BOOL CDECL EMFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT width, INT height )
 {
     EMRFRAMERGN *emr;
     DWORD size, rgnsize, index;
@@ -662,7 +662,7 @@ static BOOL EMFDRV_PaintInvertRgn( PHYSDEV dev, HRGN hrgn, DWORD iType )
 /**********************************************************************
  *          EMFDRV_PaintRgn
  */
-BOOL
+BOOL CDECL
 EMFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn )
 {
     return EMFDRV_PaintInvertRgn( dev, hrgn, EMR_PAINTRGN );
@@ -671,7 +671,7 @@ EMFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn )
 /**********************************************************************
  *          EMFDRV_InvertRgn
  */
-BOOL
+BOOL CDECL
 EMFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn )
 {
     return EMFDRV_PaintInvertRgn( dev, hrgn, EMR_INVERTRGN );
@@ -680,7 +680,7 @@ EMFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn )
 /**********************************************************************
  *          EMFDRV_SetBkColor
  */
-COLORREF
+COLORREF CDECL
 EMFDRV_SetBkColor( PHYSDEV dev, COLORREF color )
 {
     EMRSETBKCOLOR emr;
@@ -696,7 +696,7 @@ EMFDRV_SetBkColor( PHYSDEV dev, COLORREF color )
 /**********************************************************************
  *          EMFDRV_SetTextColor
  */
-COLORREF
+COLORREF CDECL
 EMFDRV_SetTextColor( PHYSDEV dev, COLORREF color )
 {
     EMRSETTEXTCOLOR emr;
@@ -711,9 +711,9 @@ EMFDRV_SetTextColor( PHYSDEV dev, COLORREF color )
 /**********************************************************************
  *          EMFDRV_ExtTextOut
  */
-BOOL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
-			const RECT *lprect, LPCWSTR str, UINT count,
-			const INT *lpDx )
+BOOL CDECL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
+                                const RECT *lprect, LPCWSTR str, UINT count,
+                                const INT *lpDx )
 {
     EMREXTTEXTOUTW *pemr;
     DWORD nSize;
@@ -832,7 +832,7 @@ no_bounds:
 /**********************************************************************
  *          EMFDRV_SetArcDirection
  */
-INT EMFDRV_SetArcDirection(PHYSDEV dev, INT arcDirection)
+INT CDECL EMFDRV_SetArcDirection(PHYSDEV dev, INT arcDirection)
 {
     EMRSETARCDIRECTION emr;
 
diff --git a/dlls/gdi32/enhmfdrv/mapping.c b/dlls/gdi32/enhmfdrv/mapping.c
index cc4f996..1914bf7 100644
--- a/dlls/gdi32/enhmfdrv/mapping.c
+++ b/dlls/gdi32/enhmfdrv/mapping.c
@@ -20,7 +20,7 @@
 
 #include "enhmfdrv/enhmetafiledrv.h"
 
-INT EMFDRV_SetMapMode( PHYSDEV dev, INT mode )
+INT CDECL EMFDRV_SetMapMode( PHYSDEV dev, INT mode )
 {
     EMRSETMAPMODE emr;
     emr.emr.iType = EMR_SETMAPMODE;
@@ -30,7 +30,7 @@ INT EMFDRV_SetMapMode( PHYSDEV dev, INT mode )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_SetViewportExt( PHYSDEV dev, INT cx, INT cy )
+INT CDECL EMFDRV_SetViewportExt( PHYSDEV dev, INT cx, INT cy )
 {
     EMRSETVIEWPORTEXTEX emr;
 
@@ -42,7 +42,7 @@ INT EMFDRV_SetViewportExt( PHYSDEV dev, INT cx, INT cy )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_SetWindowExt( PHYSDEV dev, INT cx, INT cy )
+INT CDECL EMFDRV_SetWindowExt( PHYSDEV dev, INT cx, INT cy )
 {
     EMRSETWINDOWEXTEX emr;
 
@@ -54,7 +54,7 @@ INT EMFDRV_SetWindowExt( PHYSDEV dev, INT cx, INT cy )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL EMFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y )
 {
     EMRSETVIEWPORTORGEX emr;
 
@@ -66,7 +66,7 @@ INT EMFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL EMFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y )
 {
     EMRSETWINDOWORGEX emr;
 
@@ -78,8 +78,8 @@ INT EMFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
-			     INT yDenom )
+INT CDECL EMFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
+                                     INT yDenom )
 {
     EMRSCALEVIEWPORTEXTEX emr;
 
@@ -93,8 +93,8 @@ INT EMFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
-			   INT yDenom )
+INT CDECL EMFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
+                           INT yDenom )
 {
     EMRSCALEWINDOWEXTEX emr;
 
@@ -108,7 +108,7 @@ INT EMFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_SetWorldTransform( PHYSDEV dev, const XFORM *xform)
+BOOL CDECL EMFDRV_SetWorldTransform( PHYSDEV dev, const XFORM *xform)
 {
     EMRSETWORLDTRANSFORM emr;
 
@@ -119,7 +119,7 @@ BOOL EMFDRV_SetWorldTransform( PHYSDEV dev, const XFORM *xform)
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-BOOL EMFDRV_ModifyWorldTransform( PHYSDEV dev, const XFORM *xform, INT mode)
+BOOL CDECL EMFDRV_ModifyWorldTransform( PHYSDEV dev, const XFORM *xform, INT mode)
 {
     EMRMODIFYWORLDTRANSFORM emr;
 
@@ -131,7 +131,7 @@ BOOL EMFDRV_ModifyWorldTransform( PHYSDEV dev, const XFORM *xform, INT mode)
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL EMFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y )
 {
     POINT pt;
     EMRSETVIEWPORTORGEX emr;
@@ -147,7 +147,7 @@ INT EMFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y )
     return EMFDRV_WriteRecord( dev, &emr.emr );
 }
 
-INT EMFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL EMFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y )
 {
     POINT pt;
     EMRSETWINDOWORGEX emr;
diff --git a/dlls/gdi32/enhmfdrv/objects.c b/dlls/gdi32/enhmfdrv/objects.c
index f46fed2..a1cf8cf 100644
--- a/dlls/gdi32/enhmfdrv/objects.c
+++ b/dlls/gdi32/enhmfdrv/objects.c
@@ -74,7 +74,7 @@ static UINT EMFDRV_FindObject( PHYSDEV dev, HGDIOBJ obj )
 /******************************************************************
  *         EMFDRV_DeleteObject
  */
-BOOL EMFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj )
+BOOL CDECL EMFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj )
 {
     EMRDELETEOBJECT emr;
     EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*) dev;
@@ -99,7 +99,7 @@ BOOL EMFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj )
 /***********************************************************************
  *           EMFDRV_SelectBitmap
  */
-HBITMAP EMFDRV_SelectBitmap( PHYSDEV dev, HBITMAP hbitmap )
+HBITMAP CDECL EMFDRV_SelectBitmap( PHYSDEV dev, HBITMAP hbitmap )
 {
     return 0;
 }
@@ -273,7 +273,7 @@ DWORD EMFDRV_CreateBrushIndirect( PHYSDEV dev, HBRUSH hBrush )
 /***********************************************************************
  *           EMFDRV_SelectBrush
  */
-HBRUSH EMFDRV_SelectBrush(PHYSDEV dev, HBRUSH hBrush )
+HBRUSH CDECL EMFDRV_SelectBrush(PHYSDEV dev, HBRUSH hBrush )
 {
     EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*)dev;
     EMRSELECTOBJECT emr;
@@ -350,7 +350,7 @@ static BOOL EMFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont )
 /***********************************************************************
  *           EMFDRV_SelectFont
  */
-HFONT EMFDRV_SelectFont( PHYSDEV dev, HFONT hFont, HANDLE gdiFont )
+HFONT CDECL EMFDRV_SelectFont( PHYSDEV dev, HFONT hFont, HANDLE gdiFont )
 {
     EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*)dev;
     EMRSELECTOBJECT emr;
@@ -429,7 +429,7 @@ static DWORD EMFDRV_CreatePenIndirect(PHYSDEV dev, HPEN hPen)
 /******************************************************************
  *         EMFDRV_SelectPen
  */
-HPEN EMFDRV_SelectPen(PHYSDEV dev, HPEN hPen )
+HPEN CDECL EMFDRV_SelectPen(PHYSDEV dev, HPEN hPen )
 {
     EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*)dev;
     EMRSELECTOBJECT emr;
@@ -495,7 +495,7 @@ static DWORD EMFDRV_CreatePalette(PHYSDEV dev, HPALETTE hPal)
 /******************************************************************
  *         EMFDRV_SelectPalette
  */
-HPALETTE EMFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPal, BOOL force )
+HPALETTE CDECL EMFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPal, BOOL force )
 {
     EMFDRV_PDEVICE *physDev = (EMFDRV_PDEVICE*)dev;
     EMRSELECTPALETTE emr;
@@ -524,7 +524,7 @@ found:
 /******************************************************************
  *         EMFDRV_GdiComment
  */
-BOOL EMFDRV_GdiComment(PHYSDEV dev, UINT bytes, CONST BYTE *buffer)
+BOOL CDECL EMFDRV_GdiComment(PHYSDEV dev, UINT bytes, CONST BYTE *buffer)
 {
     EMRGDICOMMENT *emr;
     UINT total, rounded_size;
diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h
index ba07217..74e07d1 100644
--- a/dlls/gdi32/gdi_private.h
+++ b/dlls/gdi32/gdi_private.h
@@ -98,142 +98,142 @@ typedef struct { int opaque; } *PHYSDEV;  /* PHYSDEV is an opaque pointer */
 
 typedef struct tagDC_FUNCS
 {
-    INT      (*pAbortDoc)(PHYSDEV);
-    BOOL     (*pAbortPath)(PHYSDEV);
-    BOOL     (*pAlphaBlend)(PHYSDEV,INT,INT,INT,INT,PHYSDEV,INT,INT,INT,INT,BLENDFUNCTION);
-    BOOL     (*pAngleArc)(PHYSDEV,INT,INT,DWORD,FLOAT,FLOAT);
-    BOOL     (*pArc)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
-    BOOL     (*pArcTo)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
-    BOOL     (*pBeginPath)(PHYSDEV);
-    BOOL     (*pBitBlt)(PHYSDEV,INT,INT,INT,INT,PHYSDEV,INT,INT,DWORD);
-    INT      (*pChoosePixelFormat)(PHYSDEV,const PIXELFORMATDESCRIPTOR *);
-    BOOL     (*pChord)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
-    BOOL     (*pCloseFigure)(PHYSDEV);
-    BOOL     (*pCreateBitmap)(PHYSDEV,HBITMAP,LPVOID);
-    BOOL     (*pCreateDC)(HDC,PHYSDEV *,LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
-    HBITMAP  (*pCreateDIBSection)(PHYSDEV,HBITMAP,const BITMAPINFO *,UINT);
-    BOOL     (*pDeleteBitmap)(HBITMAP);
-    BOOL     (*pDeleteDC)(PHYSDEV);
-    BOOL     (*pDeleteObject)(PHYSDEV,HGDIOBJ);
-    INT      (*pDescribePixelFormat)(PHYSDEV,INT,UINT,PIXELFORMATDESCRIPTOR *);
-    DWORD    (*pDeviceCapabilities)(LPSTR,LPCSTR,LPCSTR,WORD,LPSTR,LPDEVMODEA);
-    BOOL     (*pEllipse)(PHYSDEV,INT,INT,INT,INT);
-    INT      (*pEndDoc)(PHYSDEV);
-    INT      (*pEndPage)(PHYSDEV);
-    BOOL     (*pEndPath)(PHYSDEV);
-    BOOL     (*pEnumDeviceFonts)(PHYSDEV,LPLOGFONTW,FONTENUMPROCW,LPARAM);
-    INT      (*pExcludeClipRect)(PHYSDEV,INT,INT,INT,INT);
-    INT      (*pExtDeviceMode)(LPSTR,HWND,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,DWORD);
-    INT      (*pExtEscape)(PHYSDEV,INT,INT,LPCVOID,INT,LPVOID);
-    BOOL     (*pExtFloodFill)(PHYSDEV,INT,INT,COLORREF,UINT);
-    INT      (*pExtSelectClipRgn)(PHYSDEV,HRGN,INT);
-    BOOL     (*pExtTextOut)(PHYSDEV,INT,INT,UINT,const RECT*,LPCWSTR,UINT,const INT*);
-    BOOL     (*pFillPath)(PHYSDEV);
-    BOOL     (*pFillRgn)(PHYSDEV,HRGN,HBRUSH);
-    BOOL     (*pFlattenPath)(PHYSDEV);
-    BOOL     (*pFrameRgn)(PHYSDEV,HRGN,HBRUSH,INT,INT);
-    BOOL     (*pGdiComment)(PHYSDEV,UINT,CONST BYTE*);
-    LONG     (*pGetBitmapBits)(HBITMAP,void*,LONG);
-    BOOL     (*pGetCharWidth)(PHYSDEV,UINT,UINT,LPINT);
-    BOOL     (*pGetDCOrgEx)(PHYSDEV,LPPOINT);
-    UINT     (*pGetDIBColorTable)(PHYSDEV,UINT,UINT,RGBQUAD*);
-    INT      (*pGetDIBits)(PHYSDEV,HBITMAP,UINT,UINT,LPVOID,BITMAPINFO*,UINT);
-    INT      (*pGetDeviceCaps)(PHYSDEV,INT);
-    BOOL     (*pGetDeviceGammaRamp)(PHYSDEV,LPVOID);
-    BOOL     (*pGetICMProfile)(PHYSDEV,LPDWORD,LPWSTR);
-    COLORREF (*pGetNearestColor)(PHYSDEV,COLORREF);
-    COLORREF (*pGetPixel)(PHYSDEV,INT,INT);
-    INT      (*pGetPixelFormat)(PHYSDEV);
-    UINT     (*pGetSystemPaletteEntries)(PHYSDEV,UINT,UINT,LPPALETTEENTRY);
-    BOOL     (*pGetTextExtentExPoint)(PHYSDEV,LPCWSTR,INT,INT,LPINT,LPINT,LPSIZE);
-    BOOL     (*pGetTextMetrics)(PHYSDEV,TEXTMETRICW*);
-    INT      (*pIntersectClipRect)(PHYSDEV,INT,INT,INT,INT);
-    BOOL     (*pInvertRgn)(PHYSDEV,HRGN);
-    BOOL     (*pLineTo)(PHYSDEV,INT,INT);
-    BOOL     (*pModifyWorldTransform)(PHYSDEV,const XFORM*,INT);
-    BOOL     (*pMoveTo)(PHYSDEV,INT,INT);
-    INT      (*pOffsetClipRgn)(PHYSDEV,INT,INT);
-    INT      (*pOffsetViewportOrg)(PHYSDEV,INT,INT);
-    INT      (*pOffsetWindowOrg)(PHYSDEV,INT,INT);
-    BOOL     (*pPaintRgn)(PHYSDEV,HRGN);
-    BOOL     (*pPatBlt)(PHYSDEV,INT,INT,INT,INT,DWORD);
-    BOOL     (*pPie)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
-    BOOL     (*pPolyBezier)(PHYSDEV,const POINT*,DWORD);
-    BOOL     (*pPolyBezierTo)(PHYSDEV,const POINT*,DWORD);
-    BOOL     (*pPolyDraw)(PHYSDEV,const POINT*,const BYTE *,DWORD);
-    BOOL     (*pPolyPolygon)(PHYSDEV,const POINT*,const INT*,UINT);
-    BOOL     (*pPolyPolyline)(PHYSDEV,const POINT*,const DWORD*,DWORD);
-    BOOL     (*pPolygon)(PHYSDEV,const POINT*,INT);
-    BOOL     (*pPolyline)(PHYSDEV,const POINT*,INT);
-    BOOL     (*pPolylineTo)(PHYSDEV,const POINT*,INT);
-    UINT     (*pRealizeDefaultPalette)(PHYSDEV);
-    UINT     (*pRealizePalette)(PHYSDEV,HPALETTE,BOOL);
-    BOOL     (*pRectangle)(PHYSDEV,INT,INT,INT,INT);
-    HDC      (*pResetDC)(PHYSDEV,const DEVMODEW*);
-    BOOL     (*pRestoreDC)(PHYSDEV,INT);
-    BOOL     (*pRoundRect)(PHYSDEV,INT,INT,INT,INT,INT,INT);
-    INT      (*pSaveDC)(PHYSDEV);
-    INT      (*pScaleViewportExt)(PHYSDEV,INT,INT,INT,INT);
-    INT      (*pScaleWindowExt)(PHYSDEV,INT,INT,INT,INT);
-    HBITMAP  (*pSelectBitmap)(PHYSDEV,HBITMAP);
-    HBRUSH   (*pSelectBrush)(PHYSDEV,HBRUSH);
-    BOOL     (*pSelectClipPath)(PHYSDEV,INT);
-    HFONT    (*pSelectFont)(PHYSDEV,HFONT,HANDLE);
-    HPALETTE (*pSelectPalette)(PHYSDEV,HPALETTE,BOOL);
-    HPEN     (*pSelectPen)(PHYSDEV,HPEN);
-    INT      (*pSetArcDirection)(PHYSDEV,INT);
-    LONG     (*pSetBitmapBits)(HBITMAP,const void*,LONG);
-    COLORREF (*pSetBkColor)(PHYSDEV,COLORREF);
-    INT      (*pSetBkMode)(PHYSDEV,INT);
-    COLORREF (*pSetDCBrushColor)(PHYSDEV, COLORREF);
-    DWORD    (*pSetDCOrg)(PHYSDEV,INT,INT);
-    COLORREF (*pSetDCPenColor)(PHYSDEV, COLORREF);
-    UINT     (*pSetDIBColorTable)(PHYSDEV,UINT,UINT,const RGBQUAD*);
-    INT      (*pSetDIBits)(PHYSDEV,HBITMAP,UINT,UINT,LPCVOID,const BITMAPINFO*,UINT);
-    INT      (*pSetDIBitsToDevice)(PHYSDEV,INT,INT,DWORD,DWORD,INT,INT,UINT,UINT,LPCVOID,
-                                   const BITMAPINFO*,UINT);
-    VOID     (*pSetDeviceClipping)(PHYSDEV,HRGN,HRGN);
-    BOOL     (*pSetDeviceGammaRamp)(PHYSDEV,LPVOID);
-    INT      (*pSetMapMode)(PHYSDEV,INT);
-    DWORD    (*pSetMapperFlags)(PHYSDEV,DWORD);
-    COLORREF (*pSetPixel)(PHYSDEV,INT,INT,COLORREF);
-    BOOL     (*pSetPixelFormat)(PHYSDEV,INT,const PIXELFORMATDESCRIPTOR *);
-    INT      (*pSetPolyFillMode)(PHYSDEV,INT);
-    INT      (*pSetROP2)(PHYSDEV,INT);
-    INT      (*pSetRelAbs)(PHYSDEV,INT);
-    INT      (*pSetStretchBltMode)(PHYSDEV,INT);
-    UINT     (*pSetTextAlign)(PHYSDEV,UINT);
-    INT      (*pSetTextCharacterExtra)(PHYSDEV,INT);
-    DWORD    (*pSetTextColor)(PHYSDEV,DWORD);
-    INT      (*pSetTextJustification)(PHYSDEV,INT,INT);
-    INT      (*pSetViewportExt)(PHYSDEV,INT,INT);
-    INT      (*pSetViewportOrg)(PHYSDEV,INT,INT);
-    INT      (*pSetWindowExt)(PHYSDEV,INT,INT);
-    INT      (*pSetWindowOrg)(PHYSDEV,INT,INT);
-    BOOL     (*pSetWorldTransform)(PHYSDEV,const XFORM*);
-    INT      (*pStartDoc)(PHYSDEV,const DOCINFOW*);
-    INT      (*pStartPage)(PHYSDEV);
-    BOOL     (*pStretchBlt)(PHYSDEV,INT,INT,INT,INT,PHYSDEV,INT,INT,INT,INT,DWORD);
-    INT      (*pStretchDIBits)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT,const void *,
-                               const BITMAPINFO*,UINT,DWORD);
-    BOOL     (*pStrokeAndFillPath)(PHYSDEV);
-    BOOL     (*pStrokePath)(PHYSDEV);
-    BOOL     (*pSwapBuffers)(PHYSDEV);
-    BOOL     (*pUnrealizePalette)(HPALETTE);
-    BOOL     (*pWidenPath)(PHYSDEV);
+    INT      (*CDECL pAbortDoc)(PHYSDEV);
+    BOOL     (*CDECL pAbortPath)(PHYSDEV);
+    BOOL     (*CDECL pAlphaBlend)(PHYSDEV,INT,INT,INT,INT,PHYSDEV,INT,INT,INT,INT,BLENDFUNCTION);
+    BOOL     (*CDECL pAngleArc)(PHYSDEV,INT,INT,DWORD,FLOAT,FLOAT);
+    BOOL     (*CDECL pArc)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
+    BOOL     (*CDECL pArcTo)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
+    BOOL     (*CDECL pBeginPath)(PHYSDEV);
+    BOOL     (*CDECL pBitBlt)(PHYSDEV,INT,INT,INT,INT,PHYSDEV,INT,INT,DWORD);
+    INT      (*CDECL pChoosePixelFormat)(PHYSDEV,const PIXELFORMATDESCRIPTOR *);
+    BOOL     (*CDECL pChord)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
+    BOOL     (*CDECL pCloseFigure)(PHYSDEV);
+    BOOL     (*CDECL pCreateBitmap)(PHYSDEV,HBITMAP,LPVOID);
+    BOOL     (*CDECL pCreateDC)(HDC,PHYSDEV *,LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
+    HBITMAP  (*CDECL pCreateDIBSection)(PHYSDEV,HBITMAP,const BITMAPINFO *,UINT);
+    BOOL     (*CDECL pDeleteBitmap)(HBITMAP);
+    BOOL     (*CDECL pDeleteDC)(PHYSDEV);
+    BOOL     (*CDECL pDeleteObject)(PHYSDEV,HGDIOBJ);
+    INT      (*CDECL pDescribePixelFormat)(PHYSDEV,INT,UINT,PIXELFORMATDESCRIPTOR *);
+    DWORD    (*CDECL pDeviceCapabilities)(LPSTR,LPCSTR,LPCSTR,WORD,LPSTR,LPDEVMODEA);
+    BOOL     (*CDECL pEllipse)(PHYSDEV,INT,INT,INT,INT);
+    INT      (*CDECL pEndDoc)(PHYSDEV);
+    INT      (*CDECL pEndPage)(PHYSDEV);
+    BOOL     (*CDECL pEndPath)(PHYSDEV);
+    BOOL     (*CDECL pEnumDeviceFonts)(PHYSDEV,LPLOGFONTW,FONTENUMPROCW,LPARAM);
+    INT      (*CDECL pExcludeClipRect)(PHYSDEV,INT,INT,INT,INT);
+    INT      (*CDECL pExtDeviceMode)(LPSTR,HWND,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,DWORD);
+    INT      (*CDECL pExtEscape)(PHYSDEV,INT,INT,LPCVOID,INT,LPVOID);
+    BOOL     (*CDECL pExtFloodFill)(PHYSDEV,INT,INT,COLORREF,UINT);
+    INT      (*CDECL pExtSelectClipRgn)(PHYSDEV,HRGN,INT);
+    BOOL     (*CDECL pExtTextOut)(PHYSDEV,INT,INT,UINT,const RECT*,LPCWSTR,UINT,const INT*);
+    BOOL     (*CDECL pFillPath)(PHYSDEV);
+    BOOL     (*CDECL pFillRgn)(PHYSDEV,HRGN,HBRUSH);
+    BOOL     (*CDECL pFlattenPath)(PHYSDEV);
+    BOOL     (*CDECL pFrameRgn)(PHYSDEV,HRGN,HBRUSH,INT,INT);
+    BOOL     (*CDECL pGdiComment)(PHYSDEV,UINT,CONST BYTE*);
+    LONG     (*CDECL pGetBitmapBits)(HBITMAP,void*,LONG);
+    BOOL     (*CDECL pGetCharWidth)(PHYSDEV,UINT,UINT,LPINT);
+    BOOL     (*CDECL pGetDCOrgEx)(PHYSDEV,LPPOINT);
+    UINT     (*CDECL pGetDIBColorTable)(PHYSDEV,UINT,UINT,RGBQUAD*);
+    INT      (*CDECL pGetDIBits)(PHYSDEV,HBITMAP,UINT,UINT,LPVOID,BITMAPINFO*,UINT);
+    INT      (*CDECL pGetDeviceCaps)(PHYSDEV,INT);
+    BOOL     (*CDECL pGetDeviceGammaRamp)(PHYSDEV,LPVOID);
+    BOOL     (*CDECL pGetICMProfile)(PHYSDEV,LPDWORD,LPWSTR);
+    COLORREF (*CDECL pGetNearestColor)(PHYSDEV,COLORREF);
+    COLORREF (*CDECL pGetPixel)(PHYSDEV,INT,INT);
+    INT      (*CDECL pGetPixelFormat)(PHYSDEV);
+    UINT     (*CDECL pGetSystemPaletteEntries)(PHYSDEV,UINT,UINT,LPPALETTEENTRY);
+    BOOL     (*CDECL pGetTextExtentExPoint)(PHYSDEV,LPCWSTR,INT,INT,LPINT,LPINT,LPSIZE);
+    BOOL     (*CDECL CDECL pGetTextMetrics)(PHYSDEV,TEXTMETRICW*);
+    INT      (*CDECL pIntersectClipRect)(PHYSDEV,INT,INT,INT,INT);
+    BOOL     (*CDECL pInvertRgn)(PHYSDEV,HRGN);
+    BOOL     (*CDECL pLineTo)(PHYSDEV,INT,INT);
+    BOOL     (*CDECL pModifyWorldTransform)(PHYSDEV,const XFORM*,INT);
+    BOOL     (*CDECL pMoveTo)(PHYSDEV,INT,INT);
+    INT      (*CDECL pOffsetClipRgn)(PHYSDEV,INT,INT);
+    INT      (*CDECL pOffsetViewportOrg)(PHYSDEV,INT,INT);
+    INT      (*CDECL pOffsetWindowOrg)(PHYSDEV,INT,INT);
+    BOOL     (*CDECL pPaintRgn)(PHYSDEV,HRGN);
+    BOOL     (*CDECL pPatBlt)(PHYSDEV,INT,INT,INT,INT,DWORD);
+    BOOL     (*CDECL pPie)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT);
+    BOOL     (*CDECL pPolyBezier)(PHYSDEV,const POINT*,DWORD);
+    BOOL     (*CDECL pPolyBezierTo)(PHYSDEV,const POINT*,DWORD);
+    BOOL     (*CDECL pPolyDraw)(PHYSDEV,const POINT*,const BYTE *,DWORD);
+    BOOL     (*CDECL pPolyPolygon)(PHYSDEV,const POINT*,const INT*,UINT);
+    BOOL     (*CDECL pPolyPolyline)(PHYSDEV,const POINT*,const DWORD*,DWORD);
+    BOOL     (*CDECL pPolygon)(PHYSDEV,const POINT*,INT);
+    BOOL     (*CDECL pPolyline)(PHYSDEV,const POINT*,INT);
+    BOOL     (*CDECL pPolylineTo)(PHYSDEV,const POINT*,INT);
+    UINT     (*CDECL pRealizeDefaultPalette)(PHYSDEV);
+    UINT     (*CDECL pRealizePalette)(PHYSDEV,HPALETTE,BOOL);
+    BOOL     (*CDECL pRectangle)(PHYSDEV,INT,INT,INT,INT);
+    HDC      (*CDECL pResetDC)(PHYSDEV,const DEVMODEW*);
+    BOOL     (*CDECL pRestoreDC)(PHYSDEV,INT);
+    BOOL     (*CDECL pRoundRect)(PHYSDEV,INT,INT,INT,INT,INT,INT);
+    INT      (*CDECL pSaveDC)(PHYSDEV);
+    INT      (*CDECL pScaleViewportExt)(PHYSDEV,INT,INT,INT,INT);
+    INT      (*CDECL pScaleWindowExt)(PHYSDEV,INT,INT,INT,INT);
+    HBITMAP  (*CDECL pSelectBitmap)(PHYSDEV,HBITMAP);
+    HBRUSH   (*CDECL pSelectBrush)(PHYSDEV,HBRUSH);
+    BOOL     (*CDECL pSelectClipPath)(PHYSDEV,INT);
+    HFONT    (*CDECL pSelectFont)(PHYSDEV,HFONT,HANDLE);
+    HPALETTE (*CDECL pSelectPalette)(PHYSDEV,HPALETTE,BOOL);
+    HPEN     (*CDECL pSelectPen)(PHYSDEV,HPEN);
+    INT      (*CDECL pSetArcDirection)(PHYSDEV,INT);
+    LONG     (*CDECL pSetBitmapBits)(HBITMAP,const void*,LONG);
+    COLORREF (*CDECL pSetBkColor)(PHYSDEV,COLORREF);
+    INT      (*CDECL pSetBkMode)(PHYSDEV,INT);
+    COLORREF (*CDECL pSetDCBrushColor)(PHYSDEV, COLORREF);
+    DWORD    (*CDECL pSetDCOrg)(PHYSDEV,INT,INT);
+    COLORREF (*CDECL pSetDCPenColor)(PHYSDEV, COLORREF);
+    UINT     (*CDECL pSetDIBColorTable)(PHYSDEV,UINT,UINT,const RGBQUAD*);
+    INT      (*CDECL pSetDIBits)(PHYSDEV,HBITMAP,UINT,UINT,LPCVOID,const BITMAPINFO*,UINT);
+    INT      (*CDECL pSetDIBitsToDevice)(PHYSDEV,INT,INT,DWORD,DWORD,INT,INT,UINT,UINT,LPCVOID,
+                                           const BITMAPINFO*,UINT);
+    VOID     (*CDECL pSetDeviceClipping)(PHYSDEV,HRGN,HRGN);
+    BOOL     (*CDECL pSetDeviceGammaRamp)(PHYSDEV,LPVOID);
+    INT      (*CDECL pSetMapMode)(PHYSDEV,INT);
+    DWORD    (*CDECL pSetMapperFlags)(PHYSDEV,DWORD);
+    COLORREF (*CDECL pSetPixel)(PHYSDEV,INT,INT,COLORREF);
+    BOOL     (*CDECL pSetPixelFormat)(PHYSDEV,INT,const PIXELFORMATDESCRIPTOR *);
+    INT      (*CDECL pSetPolyFillMode)(PHYSDEV,INT);
+    INT      (*CDECL pSetROP2)(PHYSDEV,INT);
+    INT      (*CDECL pSetRelAbs)(PHYSDEV,INT);
+    INT      (*CDECL pSetStretchBltMode)(PHYSDEV,INT);
+    UINT     (*CDECL pSetTextAlign)(PHYSDEV,UINT);
+    INT      (*CDECL pSetTextCharacterExtra)(PHYSDEV,INT);
+    DWORD    (*CDECL pSetTextColor)(PHYSDEV,DWORD);
+    INT      (*CDECL pSetTextJustification)(PHYSDEV,INT,INT);
+    INT      (*CDECL pSetViewportExt)(PHYSDEV,INT,INT);
+    INT      (*CDECL pSetViewportOrg)(PHYSDEV,INT,INT);
+    INT      (*CDECL pSetWindowExt)(PHYSDEV,INT,INT);
+    INT      (*CDECL pSetWindowOrg)(PHYSDEV,INT,INT);
+    BOOL     (*CDECL pSetWorldTransform)(PHYSDEV,const XFORM*);
+    INT      (*CDECL pStartDoc)(PHYSDEV,const DOCINFOW*);
+    INT      (*CDECL pStartPage)(PHYSDEV);
+    BOOL     (*CDECL pStretchBlt)(PHYSDEV,INT,INT,INT,INT,PHYSDEV,INT,INT,INT,INT,DWORD);
+    INT      (*CDECL pStretchDIBits)(PHYSDEV,INT,INT,INT,INT,INT,INT,INT,INT,const void *,
+                                       const BITMAPINFO*,UINT,DWORD);
+    BOOL     (*CDECL pStrokeAndFillPath)(PHYSDEV);
+    BOOL     (*CDECL pStrokePath)(PHYSDEV);
+    BOOL     (*CDECL pSwapBuffers)(PHYSDEV);
+    BOOL     (*CDECL pUnrealizePalette)(HPALETTE);
+    BOOL     (*CDECL pWidenPath)(PHYSDEV);
 
     /* OpenGL32 */
-    BOOL     (*pwglCopyContext)(HGLRC, HGLRC, UINT);
-    HGLRC    (*pwglCreateContext)(PHYSDEV);
-    BOOL     (*pwglDeleteContext)(HGLRC);
-    PROC     (*pwglGetProcAddress)(LPCSTR);
-    HDC      (*pwglGetPbufferDCARB)(PHYSDEV, void*);
-    BOOL     (*pwglMakeCurrent)(PHYSDEV, HGLRC);
-    BOOL     (*pwglMakeContextCurrentARB)(PHYSDEV, PHYSDEV, HGLRC);
-    BOOL     (*pwglSetPixelFormatWINE)(PHYSDEV,INT,const PIXELFORMATDESCRIPTOR *);
-    BOOL     (*pwglShareLists)(HGLRC hglrc1, HGLRC hglrc2);
-    BOOL     (*pwglUseFontBitmapsA)(PHYSDEV, DWORD, DWORD, DWORD);
-    BOOL     (*pwglUseFontBitmapsW)(PHYSDEV, DWORD, DWORD, DWORD);
+    BOOL     (*CDECL pwglCopyContext)(HGLRC, HGLRC, UINT);
+    HGLRC    (*CDECL pwglCreateContext)(PHYSDEV);
+    BOOL     (*CDECL pwglDeleteContext)(HGLRC);
+    PROC     (*CDECL pwglGetProcAddress)(LPCSTR);
+    HDC      (*CDECL pwglGetPbufferDCARB)(PHYSDEV, void*);
+    BOOL     (*CDECL pwglMakeCurrent)(PHYSDEV, HGLRC);
+    BOOL     (*CDECL pwglMakeContextCurrentARB)(PHYSDEV, PHYSDEV, HGLRC);
+    BOOL     (*CDECL pwglSetPixelFormatWINE)(PHYSDEV,INT,const PIXELFORMATDESCRIPTOR *);
+    BOOL     (*CDECL pwglShareLists)(HGLRC hglrc1, HGLRC hglrc2);
+    BOOL     (*CDECL pwglUseFontBitmapsA)(PHYSDEV, DWORD, DWORD, DWORD);
+    BOOL     (*CDECL pwglUseFontBitmapsW)(PHYSDEV, DWORD, DWORD, DWORD);
 } DC_FUNCTIONS;
 
 /* It should not be necessary to access the contents of the GdiPath
diff --git a/dlls/gdi32/mfdrv/bitblt.c b/dlls/gdi32/mfdrv/bitblt.c
index 48d79d3..54e7263 100644
--- a/dlls/gdi32/mfdrv/bitblt.c
+++ b/dlls/gdi32/mfdrv/bitblt.c
@@ -28,7 +28,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(metafile);
 /***********************************************************************
  *           MFDRV_PatBlt
  */
-BOOL MFDRV_PatBlt( PHYSDEV dev, INT left, INT top, INT width, INT height, DWORD rop )
+BOOL  CDECL MFDRV_PatBlt( PHYSDEV dev, INT left, INT top, INT width, INT height, DWORD rop )
 {
     MFDRV_MetaParam6( dev, META_PATBLT, left, top, width, height, HIWORD(rop), LOWORD(rop) );
     return TRUE;
@@ -38,8 +38,8 @@ BOOL MFDRV_PatBlt( PHYSDEV dev, INT left, INT top, INT width, INT height, DWORD
 /***********************************************************************
  *           MFDRV_BitBlt
  */
-BOOL MFDRV_BitBlt( PHYSDEV devDst, INT xDst, INT yDst, INT width, INT height,
-		   PHYSDEV devSrc, INT xSrc, INT ySrc, DWORD rop )
+BOOL  CDECL MFDRV_BitBlt( PHYSDEV devDst, INT xDst, INT yDst, INT width, INT height,
+                            PHYSDEV devSrc, INT xSrc, INT ySrc, DWORD rop )
 {
     return MFDRV_StretchBlt(devDst, xDst, yDst, width, height, devSrc,
                             xSrc, ySrc, width, height, rop);
@@ -55,9 +55,9 @@ BOOL MFDRV_BitBlt( PHYSDEV devDst, INT xDst, INT yDst, INT width, INT height,
  */
 #define STRETCH_VIA_DIB
 
-BOOL MFDRV_StretchBlt( PHYSDEV devDst, INT xDst, INT yDst, INT widthDst,
-		       INT heightDst, PHYSDEV devSrc, INT xSrc, INT ySrc,
-		       INT widthSrc, INT heightSrc, DWORD rop )
+BOOL  CDECL MFDRV_StretchBlt( PHYSDEV devDst, INT xDst, INT yDst, INT widthDst,
+                                INT heightDst, PHYSDEV devSrc, INT xSrc, INT ySrc,
+                                INT widthSrc, INT heightSrc, DWORD rop )
 {
     BOOL ret;
     DWORD len;
@@ -141,10 +141,10 @@ BOOL MFDRV_StretchBlt( PHYSDEV devDst, INT xDst, INT yDst, INT widthDst,
 /***********************************************************************
  *           MFDRV_StretchDIBits
  */
-INT MFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
-			 INT heightDst, INT xSrc, INT ySrc, INT widthSrc,
-			 INT heightSrc, const void *bits,
-			 const BITMAPINFO *info, UINT wUsage, DWORD dwRop )
+INT  CDECL MFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
+                                  INT heightDst, INT xSrc, INT ySrc, INT widthSrc,
+                                  INT heightSrc, const void *bits,
+                                  const BITMAPINFO *info, UINT wUsage, DWORD dwRop )
 {
     DWORD len, infosize, imagesize;
     METARECORD *mr;
@@ -182,10 +182,10 @@ INT MFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
 /***********************************************************************
  *           MFDRV_SetDIBitsToDeivce
  */
-INT MFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDst, INT yDst, DWORD cx,
-			     DWORD cy, INT xSrc, INT ySrc, UINT startscan,
-			     UINT lines, LPCVOID bits, const BITMAPINFO *info,
-			     UINT coloruse )
+INT  CDECL MFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDst, INT yDst, DWORD cx,
+                                      DWORD cy, INT xSrc, INT ySrc, UINT startscan,
+                                      UINT lines, LPCVOID bits, const BITMAPINFO *info,
+                                      UINT coloruse )
 
 {
     DWORD len, infosize, imagesize;
diff --git a/dlls/gdi32/mfdrv/dc.c b/dlls/gdi32/mfdrv/dc.c
index e81b04c..e99c164 100644
--- a/dlls/gdi32/mfdrv/dc.c
+++ b/dlls/gdi32/mfdrv/dc.c
@@ -20,128 +20,128 @@
 
 #include "mfdrv/metafiledrv.h"
 
-INT MFDRV_SaveDC( PHYSDEV dev )
+INT  CDECL MFDRV_SaveDC( PHYSDEV dev )
 {
     return MFDRV_MetaParam0( dev, META_SAVEDC );
 }
 
-BOOL MFDRV_RestoreDC( PHYSDEV dev, INT level )
+BOOL  CDECL MFDRV_RestoreDC( PHYSDEV dev, INT level )
 {
     if(level != -1) return FALSE;
     return MFDRV_MetaParam1( dev, META_RESTOREDC, level );
 }
 
-UINT MFDRV_SetTextAlign( PHYSDEV dev, UINT align )
+UINT  CDECL MFDRV_SetTextAlign( PHYSDEV dev, UINT align )
 {
     return MFDRV_MetaParam2( dev, META_SETTEXTALIGN, HIWORD(align), LOWORD(align));
 }
 
-INT MFDRV_SetBkMode( PHYSDEV dev, INT mode )
+INT  CDECL MFDRV_SetBkMode( PHYSDEV dev, INT mode )
 {
     return MFDRV_MetaParam1( dev, META_SETBKMODE, (WORD)mode);
 }
 
-INT MFDRV_SetROP2( PHYSDEV dev, INT rop )
+INT  CDECL MFDRV_SetROP2( PHYSDEV dev, INT rop )
 {
     return MFDRV_MetaParam1( dev, META_SETROP2, (WORD)rop);
 }
 
-INT MFDRV_SetRelAbs( PHYSDEV dev, INT mode )
+INT  CDECL MFDRV_SetRelAbs( PHYSDEV dev, INT mode )
 {
     return MFDRV_MetaParam1( dev, META_SETRELABS, (WORD)mode);
 }
 
-INT MFDRV_SetPolyFillMode( PHYSDEV dev, INT mode )
+INT  CDECL MFDRV_SetPolyFillMode( PHYSDEV dev, INT mode )
 {
     return MFDRV_MetaParam1( dev, META_SETPOLYFILLMODE, (WORD)mode);
 }
 
-INT MFDRV_SetStretchBltMode( PHYSDEV dev, INT mode )
+INT  CDECL MFDRV_SetStretchBltMode( PHYSDEV dev, INT mode )
 {
     return MFDRV_MetaParam1( dev, META_SETSTRETCHBLTMODE, (WORD)mode);
 }
 
-INT MFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
+INT  CDECL MFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 {
     return MFDRV_MetaParam4( dev, META_INTERSECTCLIPRECT, left, top, right,
 			     bottom );
 }
 
-INT MFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
+INT  CDECL MFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 {
     return MFDRV_MetaParam4( dev, META_EXCLUDECLIPRECT, left, top, right,
 			     bottom );
 }
 
-INT MFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
+INT  CDECL MFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
 {
     return MFDRV_MetaParam2( dev, META_OFFSETCLIPRGN, x, y );
 }
 
-INT MFDRV_SetTextJustification( PHYSDEV dev, INT extra, INT breaks )
+INT  CDECL MFDRV_SetTextJustification( PHYSDEV dev, INT extra, INT breaks )
 {
     return MFDRV_MetaParam2( dev, META_SETTEXTJUSTIFICATION, extra, breaks );
 }
 
-INT MFDRV_SetTextCharacterExtra( PHYSDEV dev, INT extra )
+INT  CDECL MFDRV_SetTextCharacterExtra( PHYSDEV dev, INT extra )
 {
     if(!MFDRV_MetaParam1( dev, META_SETTEXTCHAREXTRA, extra ))
         return 0x80000000;
     return TRUE;
 }
 
-DWORD MFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags )
+DWORD  CDECL MFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags )
 {
     return MFDRV_MetaParam2( dev, META_SETMAPPERFLAGS, HIWORD(flags),
 			     LOWORD(flags) );
 }
 
-BOOL MFDRV_AbortPath( PHYSDEV dev )
+BOOL  CDECL MFDRV_AbortPath( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_BeginPath( PHYSDEV dev )
+BOOL  CDECL MFDRV_BeginPath( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_CloseFigure( PHYSDEV dev )
+BOOL  CDECL MFDRV_CloseFigure( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_EndPath( PHYSDEV dev )
+BOOL  CDECL MFDRV_EndPath( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_FillPath( PHYSDEV dev )
+BOOL  CDECL MFDRV_FillPath( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_FlattenPath( PHYSDEV dev )
+BOOL  CDECL MFDRV_FlattenPath( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_SelectClipPath( PHYSDEV dev, INT iMode )
+BOOL  CDECL MFDRV_SelectClipPath( PHYSDEV dev, INT iMode )
 {
     return FALSE;
 }
 
-BOOL MFDRV_StrokeAndFillPath( PHYSDEV dev )
+BOOL  CDECL MFDRV_StrokeAndFillPath( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_StrokePath( PHYSDEV dev )
+BOOL  CDECL MFDRV_StrokePath( PHYSDEV dev )
 {
     return FALSE;
 }
 
-BOOL MFDRV_WidenPath( PHYSDEV dev )
+BOOL  CDECL MFDRV_WidenPath( PHYSDEV dev )
 {
     return FALSE;
 }
diff --git a/dlls/gdi32/mfdrv/graphics.c b/dlls/gdi32/mfdrv/graphics.c
index 316ee78..9b92f85 100644
--- a/dlls/gdi32/mfdrv/graphics.c
+++ b/dlls/gdi32/mfdrv/graphics.c
@@ -29,7 +29,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(metafile);
 /**********************************************************************
  *	     MFDRV_MoveTo
  */
-BOOL
+BOOL CDECL
 MFDRV_MoveTo(PHYSDEV dev, INT x, INT y)
 {
     return MFDRV_MetaParam2(dev,META_MOVETO,x,y);
@@ -38,7 +38,7 @@ MFDRV_MoveTo(PHYSDEV dev, INT x, INT y)
 /***********************************************************************
  *           MFDRV_LineTo
  */
-BOOL
+BOOL CDECL
 MFDRV_LineTo( PHYSDEV dev, INT x, INT y )
 {
      return MFDRV_MetaParam2(dev, META_LINETO, x, y);
@@ -48,7 +48,7 @@ MFDRV_LineTo( PHYSDEV dev, INT x, INT y )
 /***********************************************************************
  *           MFDRV_Arc
  */
-BOOL
+BOOL CDECL
 MFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
            INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -60,7 +60,7 @@ MFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           MFDRV_Pie
  */
-BOOL
+BOOL CDECL
 MFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
            INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -72,7 +72,7 @@ MFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           MFDRV_Chord
  */
-BOOL
+BOOL CDECL
 MFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
              INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -83,7 +83,7 @@ MFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           MFDRV_Ellipse
  */
-BOOL
+BOOL CDECL
 MFDRV_Ellipse( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 {
     return MFDRV_MetaParam4(dev, META_ELLIPSE, left, top, right, bottom);
@@ -92,7 +92,7 @@ MFDRV_Ellipse( PHYSDEV dev, INT left, INT top, INT right, INT bottom )
 /***********************************************************************
  *           MFDRV_Rectangle
  */
-BOOL
+BOOL CDECL
 MFDRV_Rectangle(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
 {
     return MFDRV_MetaParam4(dev, META_RECTANGLE, left, top, right, bottom);
@@ -101,7 +101,7 @@ MFDRV_Rectangle(PHYSDEV dev, INT left, INT top, INT right, INT bottom)
 /***********************************************************************
  *           MFDRV_RoundRect
  */
-BOOL
+BOOL CDECL
 MFDRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right,
                  INT bottom, INT ell_width, INT ell_height )
 {
@@ -112,7 +112,7 @@ MFDRV_RoundRect( PHYSDEV dev, INT left, INT top, INT right,
 /***********************************************************************
  *           MFDRV_SetPixel
  */
-COLORREF
+COLORREF CDECL
 MFDRV_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color )
 {
     return MFDRV_MetaParam4(dev, META_SETPIXEL, x, y,HIWORD(color),
@@ -146,7 +146,7 @@ static BOOL MFDRV_MetaPoly(PHYSDEV dev, short func, LPPOINT16 pt, short count)
 /**********************************************************************
  *          MFDRV_Polyline
  */
-BOOL
+BOOL CDECL
 MFDRV_Polyline( PHYSDEV dev, const POINT* pt, INT count )
 {
     register int i;
@@ -170,7 +170,7 @@ MFDRV_Polyline( PHYSDEV dev, const POINT* pt, INT count )
 /**********************************************************************
  *          MFDRV_Polygon
  */
-BOOL
+BOOL CDECL
 MFDRV_Polygon( PHYSDEV dev, const POINT* pt, INT count )
 {
     register int i;
@@ -194,7 +194,7 @@ MFDRV_Polygon( PHYSDEV dev, const POINT* pt, INT count )
 /**********************************************************************
  *          MFDRV_PolyPolygon
  */
-BOOL
+BOOL CDECL
 MFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt, const INT* counts, UINT polygons)
 {
     BOOL ret;
@@ -249,7 +249,7 @@ MFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt, const INT* counts, UINT polygon
 /**********************************************************************
  *          MFDRV_ExtFloodFill
  */
-BOOL
+BOOL CDECL
 MFDRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType )
 {
     return MFDRV_MetaParam4(dev,META_FLOODFILL,x,y,HIWORD(color),
@@ -348,7 +348,7 @@ static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn)
 /**********************************************************************
  *          MFDRV_PaintRgn
  */
-BOOL
+BOOL CDECL
 MFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn )
 {
     INT16 index;
@@ -362,7 +362,7 @@ MFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn )
 /**********************************************************************
  *          MFDRV_InvertRgn
  */
-BOOL
+BOOL CDECL
 MFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn )
 {
     INT16 index;
@@ -376,7 +376,7 @@ MFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn )
 /**********************************************************************
  *          MFDRV_FillRgn
  */
-BOOL
+BOOL CDECL
 MFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush )
 {
     INT16 iRgn, iBrush;
@@ -392,7 +392,7 @@ MFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush )
 /**********************************************************************
  *          MFDRV_FrameRgn
  */
-BOOL
+BOOL CDECL
 MFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y )
 {
     INT16 iRgn, iBrush;
@@ -409,7 +409,7 @@ MFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y )
 /**********************************************************************
  *          MFDRV_ExtSelectClipRgn
  */
-INT MFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode )
+INT CDECL MFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode )
 {
     INT16 iRgn;
     INT ret;
@@ -428,7 +428,7 @@ INT MFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode )
 /**********************************************************************
  *          MFDRV_SetBkColor
  */
-COLORREF
+COLORREF CDECL
 MFDRV_SetBkColor( PHYSDEV dev, COLORREF color )
 {
     return MFDRV_MetaParam2(dev, META_SETBKCOLOR, HIWORD(color),
@@ -439,7 +439,7 @@ MFDRV_SetBkColor( PHYSDEV dev, COLORREF color )
 /**********************************************************************
  *          MFDRV_SetTextColor
  */
-COLORREF
+COLORREF CDECL
 MFDRV_SetTextColor( PHYSDEV dev, COLORREF color )
 {
     return MFDRV_MetaParam2(dev, META_SETTEXTCOLOR, HIWORD(color),
@@ -452,7 +452,7 @@ MFDRV_SetTextColor( PHYSDEV dev, COLORREF color )
  * Since MetaFiles don't record Beziers and they don't even record
  * approximations to them using lines, we need this stub function.
  */
-BOOL
+BOOL CDECL
 MFDRV_PolyBezier( PHYSDEV dev, const POINT *pts, DWORD count )
 {
     return FALSE;
@@ -463,7 +463,7 @@ MFDRV_PolyBezier( PHYSDEV dev, const POINT *pts, DWORD count )
  * Since MetaFiles don't record Beziers and they don't even record
  * approximations to them using lines, we need this stub function.
  */
-BOOL
+BOOL CDECL
 MFDRV_PolyBezierTo( PHYSDEV dev, const POINT *pts, DWORD count )
 {
     return FALSE;
diff --git a/dlls/gdi32/mfdrv/init.c b/dlls/gdi32/mfdrv/init.c
index 69e5b55..0797c38 100644
--- a/dlls/gdi32/mfdrv/init.c
+++ b/dlls/gdi32/mfdrv/init.c
@@ -586,8 +586,8 @@ BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2,
 /**********************************************************************
  *           MFDRV_ExtEscape
  */
-INT MFDRV_ExtEscape( PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_data,
-                     INT cbOutput, LPVOID out_data )
+INT CDECL MFDRV_ExtEscape( PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_data,
+                             INT cbOutput, LPVOID out_data )
 {
     METARECORD *mr;
     DWORD len;
@@ -613,7 +613,7 @@ INT MFDRV_ExtEscape( PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_data,
  *
  *A very simple implementation that returns DT_METAFILE
  */
-INT MFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
+INT CDECL MFDRV_GetDeviceCaps(PHYSDEV dev, INT cap)
 {
     switch(cap)
     {
diff --git a/dlls/gdi32/mfdrv/mapping.c b/dlls/gdi32/mfdrv/mapping.c
index d921eb1..998a7a1 100644
--- a/dlls/gdi32/mfdrv/mapping.c
+++ b/dlls/gdi32/mfdrv/mapping.c
@@ -25,7 +25,7 @@
 /***********************************************************************
  *           MFDRV_SetMapMode
  */
-INT MFDRV_SetMapMode( PHYSDEV dev, INT mode )
+INT CDECL MFDRV_SetMapMode( PHYSDEV dev, INT mode )
 {
     if(!MFDRV_MetaParam1( dev, META_SETMAPMODE, mode ))
         return FALSE;
@@ -36,7 +36,7 @@ INT MFDRV_SetMapMode( PHYSDEV dev, INT mode )
 /***********************************************************************
  *           MFDRV_SetViewportExt
  */
-INT MFDRV_SetViewportExt( PHYSDEV dev, INT x, INT y )
+INT CDECL MFDRV_SetViewportExt( PHYSDEV dev, INT x, INT y )
 {
     if(!MFDRV_MetaParam2( dev, META_SETVIEWPORTEXT, x, y ))
         return FALSE;
@@ -47,7 +47,7 @@ INT MFDRV_SetViewportExt( PHYSDEV dev, INT x, INT y )
 /***********************************************************************
  *           MFDRV_SetViewportOrg
  */
-INT MFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL MFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y )
 {
     if(!MFDRV_MetaParam2( dev, META_SETVIEWPORTORG, x, y ))
         return FALSE;
@@ -58,7 +58,7 @@ INT MFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y )
 /***********************************************************************
  *           MFDRV_SetWindowExt
  */
-INT MFDRV_SetWindowExt( PHYSDEV dev, INT x, INT y )
+INT CDECL MFDRV_SetWindowExt( PHYSDEV dev, INT x, INT y )
 {
     if(!MFDRV_MetaParam2( dev, META_SETWINDOWEXT, x, y ))
         return FALSE;
@@ -69,7 +69,7 @@ INT MFDRV_SetWindowExt( PHYSDEV dev, INT x, INT y )
 /***********************************************************************
  *           MFDRV_SetWindowOrg
  */
-INT MFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL MFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y )
 {
     if(!MFDRV_MetaParam2( dev, META_SETWINDOWORG, x, y ))
         return FALSE;
@@ -80,7 +80,7 @@ INT MFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y )
 /***********************************************************************
  *           MFDRV_OffsetViewportOrg
  */
-INT MFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL MFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y )
 {
     if(!MFDRV_MetaParam2( dev, META_OFFSETVIEWPORTORG, x, y ))
         return FALSE;
@@ -91,7 +91,7 @@ INT MFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y )
 /***********************************************************************
  *           MFDRV_OffsetWindowOrg
  */
-INT MFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y )
+INT CDECL MFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y )
 {
     if(!MFDRV_MetaParam2( dev, META_OFFSETWINDOWORG, x, y ))
         return FALSE;
@@ -102,7 +102,7 @@ INT MFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y )
 /***********************************************************************
  *           MFDRV_ScaleViewportExt
  */
-INT MFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom )
+INT CDECL MFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom )
 {
     if(!MFDRV_MetaParam4( dev, META_SCALEVIEWPORTEXT, xNum, xDenom, yNum, yDenom ))
         return FALSE;
@@ -113,7 +113,7 @@ INT MFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDe
 /***********************************************************************
  *           MFDRV_ScaleWindowExt
  */
-INT MFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom )
+INT CDECL MFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum, INT yDenom )
 {
     if(!MFDRV_MetaParam4( dev, META_SCALEWINDOWEXT, xNum, xDenom, yNum, yDenom ))
         return FALSE;
diff --git a/dlls/gdi32/mfdrv/metafiledrv.h b/dlls/gdi32/mfdrv/metafiledrv.h
index 67c1d66..c180f61 100644
--- a/dlls/gdi32/mfdrv/metafiledrv.h
+++ b/dlls/gdi32/mfdrv/metafiledrv.h
@@ -60,105 +60,105 @@ extern INT16 MFDRV_CreateBrushIndirect( PHYSDEV dev, HBRUSH hBrush ) DECLSPEC_HI
 
 /* Metafile driver functions */
 
-extern BOOL MFDRV_AbortPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
-                       INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_BeginPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_BitBlt( PHYSDEV devDst, INT xDst, INT yDst,  INT width,
-                          INT height, PHYSDEV devSrc, INT xSrc, INT ySrc,
-                          DWORD rop ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right,
-                         INT bottom, INT xstart, INT ystart, INT xend,
-                         INT yend ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_CloseFigure( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_Ellipse( PHYSDEV dev, INT left, INT top,
-                           INT right, INT bottom ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_EndPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern INT MFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT
-                                  bottom ) DECLSPEC_HIDDEN;
-extern INT MFDRV_ExtEscape( PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_data,
-                            INT cbOutput, LPVOID out_data ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType ) DECLSPEC_HIDDEN;
-extern INT  MFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y,
-                              UINT flags, const RECT *lprect, LPCWSTR str,
-                              UINT count, const INT *lpDx ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_FillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_FlattenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT MFDRV_GetDeviceCaps( PHYSDEV dev , INT cap ) DECLSPEC_HIDDEN;
-extern INT MFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT
-                                    bottom ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_LineTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_MoveTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT  MFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT  MFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT  MFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_PatBlt( PHYSDEV dev, INT left, INT top, INT width, INT height,
-                          DWORD rop ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right,
-                       INT bottom, INT xstart, INT ystart, INT xend,
-                       INT yend ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_PolyBezier( PHYSDEV dev, const POINT* pt, DWORD count ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_PolyBezierTo( PHYSDEV dev, const POINT* pt, DWORD count ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt, const INT* counts,
-                               UINT polygons) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_Polygon( PHYSDEV dev, const POINT* pt, INT count ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_Polyline( PHYSDEV dev, const POINT* pt,INT count) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_Rectangle( PHYSDEV dev, INT left, INT top,
-                             INT right, INT bottom) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_RestoreDC( PHYSDEV dev, INT level ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_RoundRect( PHYSDEV dev, INT left, INT top,
-                             INT right, INT bottom, INT ell_width,
-                             INT ell_height ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SaveDC( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern INT MFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
-				   INT yDenom ) DECLSPEC_HIDDEN;
-extern INT MFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
-				 INT yDenom ) DECLSPEC_HIDDEN;
-extern HBITMAP MFDRV_SelectBitmap( PHYSDEV dev, HBITMAP handle ) DECLSPEC_HIDDEN;
-extern HBRUSH MFDRV_SelectBrush( PHYSDEV dev, HBRUSH handle ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_SelectClipPath( PHYSDEV dev, INT iMode ) DECLSPEC_HIDDEN;
-extern HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT handle, HANDLE gdiFont ) DECLSPEC_HIDDEN;
-extern HPEN MFDRV_SelectPen( PHYSDEV dev, HPEN handle ) DECLSPEC_HIDDEN;
-extern HPALETTE MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground) DECLSPEC_HIDDEN;
-extern UINT MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL primary) DECLSPEC_HIDDEN;
-extern COLORREF MFDRV_SetBkColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetBkMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetMapMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern DWORD MFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags ) DECLSPEC_HIDDEN;
-extern COLORREF MFDRV_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetPolyFillMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetROP2( PHYSDEV dev, INT rop ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetRelAbs( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetStretchBltMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
-extern UINT MFDRV_SetTextAlign( PHYSDEV dev, UINT align ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetTextCharacterExtra( PHYSDEV dev, INT extra ) DECLSPEC_HIDDEN;
-extern COLORREF MFDRV_SetTextColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetTextJustification( PHYSDEV dev, INT extra, INT breaks ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetViewportExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetWindowExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_StretchBlt( PHYSDEV devDst, INT xDst, INT yDst, INT widthDst,
-                              INT heightDst, PHYSDEV devSrc, INT xSrc, INT ySrc,
-                              INT widthSrc, INT heightSrc, DWORD rop ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
-extern INT MFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDest, INT yDest, DWORD cx,
-                                    DWORD cy, INT xSrc, INT ySrc,
-                                    UINT startscan, UINT lines, LPCVOID bits,
-                                    const BITMAPINFO *info, UINT coloruse ) DECLSPEC_HIDDEN;
-extern INT MFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
-                                INT heightDst, INT xSrc, INT ySrc,
-                                INT widthSrc, INT heightSrc, const void *bits,
-                                const BITMAPINFO *info, UINT wUsage,
-                                DWORD dwRop ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN;
-extern BOOL MFDRV_WidenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL CDECL MFDRV_AbortPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL CDECL MFDRV_Arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
+                               INT xstart, INT ystart, INT xend, INT yend ) DECLSPEC_HIDDEN;
+extern BOOL CDECL MFDRV_BeginPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL CDECL MFDRV_BitBlt( PHYSDEV devDst, INT xDst, INT yDst,  INT width,
+                                  INT height, PHYSDEV devSrc, INT xSrc, INT ySrc,
+                                  DWORD rop ) DECLSPEC_HIDDEN;
+extern BOOL CDECL MFDRV_Chord( PHYSDEV dev, INT left, INT top, INT right,
+                                 INT bottom, INT xstart, INT ystart, INT xend,
+                                 INT yend ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_CloseFigure( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_Ellipse( PHYSDEV dev, INT left, INT top,
+                                    INT right, INT bottom ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_EndPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT
+                                           bottom ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_ExtEscape( PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_data,
+                                     INT cbOutput, LPVOID out_data ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_ExtFloodFill( PHYSDEV dev, INT x, INT y, COLORREF color, UINT fillType ) DECLSPEC_HIDDEN;
+extern INT   CDECL MFDRV_ExtSelectClipRgn( PHYSDEV dev, HRGN hrgn, INT mode ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y,
+                                       UINT flags, const RECT *lprect, LPCWSTR str,
+                                       UINT count, const INT *lpDx ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_FillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_FlattenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_GetDeviceCaps( PHYSDEV dev , INT cap ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT
+                                             bottom ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_InvertRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_LineTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_MoveTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT   CDECL MFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT   CDECL MFDRV_OffsetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT   CDECL MFDRV_OffsetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_PatBlt( PHYSDEV dev, INT left, INT top, INT width, INT height,
+                                   DWORD rop ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_Pie( PHYSDEV dev, INT left, INT top, INT right,
+                                INT bottom, INT xstart, INT ystart, INT xend,
+                                INT yend ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_PolyBezier( PHYSDEV dev, const POINT* pt, DWORD count ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_PolyBezierTo( PHYSDEV dev, const POINT* pt, DWORD count ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_PolyPolygon( PHYSDEV dev, const POINT* pt, const INT* counts,
+                                        UINT polygons) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_Polygon( PHYSDEV dev, const POINT* pt, INT count ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_Polyline( PHYSDEV dev, const POINT* pt,INT count) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_Rectangle( PHYSDEV dev, INT left, INT top,
+                                      INT right, INT bottom) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_RestoreDC( PHYSDEV dev, INT level ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_RoundRect( PHYSDEV dev, INT left, INT top,
+                                      INT right, INT bottom, INT ell_width,
+                                      INT ell_height ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SaveDC( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_ScaleViewportExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
+                                            INT yDenom ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_ScaleWindowExt( PHYSDEV dev, INT xNum, INT xDenom, INT yNum,
+                                          INT yDenom ) DECLSPEC_HIDDEN;
+extern HBITMAP  CDECL MFDRV_SelectBitmap( PHYSDEV dev, HBITMAP handle ) DECLSPEC_HIDDEN;
+extern HBRUSH  CDECL MFDRV_SelectBrush( PHYSDEV dev, HBRUSH handle ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_SelectClipPath( PHYSDEV dev, INT iMode ) DECLSPEC_HIDDEN;
+extern HFONT  CDECL MFDRV_SelectFont( PHYSDEV dev, HFONT handle, HANDLE gdiFont ) DECLSPEC_HIDDEN;
+extern HPEN  CDECL MFDRV_SelectPen( PHYSDEV dev, HPEN handle ) DECLSPEC_HIDDEN;
+extern HPALETTE  CDECL MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground) DECLSPEC_HIDDEN;
+extern UINT  CDECL MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL primary) DECLSPEC_HIDDEN;
+extern COLORREF  CDECL MFDRV_SetBkColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetBkMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetMapMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern DWORD  CDECL MFDRV_SetMapperFlags( PHYSDEV dev, DWORD flags ) DECLSPEC_HIDDEN;
+extern COLORREF  CDECL MFDRV_SetPixel( PHYSDEV dev, INT x, INT y, COLORREF color ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetPolyFillMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetROP2( PHYSDEV dev, INT rop ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetRelAbs( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetStretchBltMode( PHYSDEV dev, INT mode ) DECLSPEC_HIDDEN;
+extern UINT  CDECL MFDRV_SetTextAlign( PHYSDEV dev, UINT align ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetTextCharacterExtra( PHYSDEV dev, INT extra ) DECLSPEC_HIDDEN;
+extern COLORREF  CDECL MFDRV_SetTextColor( PHYSDEV dev, COLORREF color ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetTextJustification( PHYSDEV dev, INT extra, INT breaks ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetViewportExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetViewportOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetWindowExt( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetWindowOrg( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_StretchBlt( PHYSDEV devDst, INT xDst, INT yDst, INT widthDst,
+                                       INT heightDst, PHYSDEV devSrc, INT xSrc, INT ySrc,
+                                       INT widthSrc, INT heightSrc, DWORD rop ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_PaintRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_SetDIBitsToDevice( PHYSDEV dev, INT xDest, INT yDest, DWORD cx,
+                                             DWORD cy, INT xSrc, INT ySrc,
+                                             UINT startscan, UINT lines, LPCVOID bits,
+                                             const BITMAPINFO *info, UINT coloruse ) DECLSPEC_HIDDEN;
+extern INT  CDECL MFDRV_StretchDIBits( PHYSDEV dev, INT xDst, INT yDst, INT widthDst,
+                                         INT heightDst, INT xSrc, INT ySrc,
+                                         INT widthSrc, INT heightSrc, const void *bits,
+                                         const BITMAPINFO *info, UINT wUsage,
+                                         DWORD dwRop ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_StrokeAndFillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_StrokePath( PHYSDEV dev ) DECLSPEC_HIDDEN;
+extern BOOL  CDECL MFDRV_WidenPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
 
 #endif  /* __WINE_METAFILEDRV_H */
diff --git a/dlls/gdi32/mfdrv/objects.c b/dlls/gdi32/mfdrv/objects.c
index f5f2aeb..8370a2c 100644
--- a/dlls/gdi32/mfdrv/objects.c
+++ b/dlls/gdi32/mfdrv/objects.c
@@ -95,8 +95,8 @@ static INT16 MFDRV_FindObject( PHYSDEV dev, HGDIOBJ obj )
 /******************************************************************
  *         MFDRV_DeleteObject
  */
-BOOL MFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj )
-{   
+BOOL CDECL MFDRV_DeleteObject( PHYSDEV dev, HGDIOBJ obj )
+{
     METARECORD mr;
     METAFILEDRV_PDEVICE *physDev = (METAFILEDRV_PDEVICE *)dev;
     INT16 index;
@@ -137,7 +137,7 @@ static BOOL MFDRV_SelectObject( PHYSDEV dev, INT16 index)
 /***********************************************************************
  *           MFDRV_SelectBitmap
  */
-HBITMAP MFDRV_SelectBitmap( PHYSDEV dev, HBITMAP hbitmap )
+HBITMAP CDECL MFDRV_SelectBitmap( PHYSDEV dev, HBITMAP hbitmap )
 {
     return 0;
 }
@@ -334,7 +334,7 @@ done:
 /***********************************************************************
  *           MFDRV_SelectBrush
  */
-HBRUSH MFDRV_SelectBrush( PHYSDEV dev, HBRUSH hbrush )
+HBRUSH CDECL MFDRV_SelectBrush( PHYSDEV dev, HBRUSH hbrush )
 {
     METAFILEDRV_PDEVICE *physDev = (METAFILEDRV_PDEVICE *)dev;
     INT16 index;
@@ -389,7 +389,7 @@ static UINT16 MFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont, LOGFONTW *logfo
 /***********************************************************************
  *           MFDRV_SelectFont
  */
-HFONT MFDRV_SelectFont( PHYSDEV dev, HFONT hfont, HANDLE gdiFont )
+HFONT CDECL MFDRV_SelectFont( PHYSDEV dev, HFONT hfont, HANDLE gdiFont )
 {
     METAFILEDRV_PDEVICE *physDev = (METAFILEDRV_PDEVICE *)dev;
     LOGFONTW font;
@@ -428,7 +428,7 @@ static UINT16 MFDRV_CreatePenIndirect(PHYSDEV dev, HPEN hPen, LOGPEN16 *logpen)
 /***********************************************************************
  *           MFDRV_SelectPen
  */
-HPEN MFDRV_SelectPen( PHYSDEV dev, HPEN hpen )
+HPEN CDECL MFDRV_SelectPen( PHYSDEV dev, HPEN hpen )
 {
     METAFILEDRV_PDEVICE *physDev = (METAFILEDRV_PDEVICE *)dev;
     LOGPEN16 logpen;
@@ -511,7 +511,7 @@ static BOOL MFDRV_CreatePalette(PHYSDEV dev, HPALETTE hPalette, LOGPALETTE* logP
 /***********************************************************************
  *           MFDRV_SelectPalette
  */
-HPALETTE MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground )
+HPALETTE CDECL MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackground )
 {
 #define PALVERSION 0x0300
 
@@ -547,7 +547,7 @@ HPALETTE MFDRV_SelectPalette( PHYSDEV dev, HPALETTE hPalette, BOOL bForceBackgro
 /***********************************************************************
  *           MFDRV_RealizePalette
  */
-UINT MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL dummy)
+UINT CDECL MFDRV_RealizePalette(PHYSDEV dev, HPALETTE hPalette, BOOL dummy)
 {
     char buffer[sizeof(METARECORD) - sizeof(WORD)];
     METARECORD *mr = (METARECORD *)&buffer;
diff --git a/dlls/gdi32/mfdrv/text.c b/dlls/gdi32/mfdrv/text.c
index 0236493..c3c182c 100644
--- a/dlls/gdi32/mfdrv/text.c
+++ b/dlls/gdi32/mfdrv/text.c
@@ -71,7 +71,7 @@ static BOOL MFDRV_MetaExtTextOut( PHYSDEV dev, short x, short y, UINT16 flags,
 /***********************************************************************
  *           MFDRV_ExtTextOut
  */
-BOOL
+BOOL CDECL
 MFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
                   const RECT *lprect, LPCWSTR str, UINT count,
                   const INT *lpDx )
diff --git a/dlls/winex11.drv/bitblt.c b/dlls/winex11.drv/bitblt.c
index 5b5742c..fea08ed 100644
--- a/dlls/winex11.drv/bitblt.c
+++ b/dlls/winex11.drv/bitblt.c
@@ -1502,7 +1502,7 @@ static BOOL BITBLT_InternalStretchBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT
 /***********************************************************************
  *           X11DRV_PatBlt
  */
-BOOL X11DRV_PatBlt( X11DRV_PDEVICE *physDev, INT left, INT top, INT width, INT height, DWORD rop )
+BOOL CDECL X11DRV_PatBlt( X11DRV_PDEVICE *physDev, INT left, INT top, INT width, INT height, DWORD rop )
 {
     BOOL result;
 
@@ -1637,7 +1637,7 @@ static BOOL X11DRV_ClientSideDIBCopy( X11DRV_PDEVICE *physDevSrc, INT xSrc, INT
 /***********************************************************************
  *           X11DRV_BitBlt
  */
-BOOL X11DRV_BitBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
+BOOL CDECL X11DRV_BitBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
                     INT width, INT height, X11DRV_PDEVICE *physDevSrc,
                     INT xSrc, INT ySrc, DWORD rop )
 {
@@ -1736,10 +1736,10 @@ END:
 /***********************************************************************
  *           X11DRV_StretchBlt
  */
-BOOL X11DRV_StretchBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
-                        INT widthDst, INT heightDst,
-                        X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
-                        INT widthSrc, INT heightSrc, DWORD rop )
+BOOL CDECL X11DRV_StretchBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
+                                INT widthDst, INT heightDst,
+                                X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
+                                INT widthSrc, INT heightSrc, DWORD rop )
 {
     BOOL result;
 
diff --git a/dlls/winex11.drv/bitmap.c b/dlls/winex11.drv/bitmap.c
index 32018c8..facf405 100644
--- a/dlls/winex11.drv/bitmap.c
+++ b/dlls/winex11.drv/bitmap.c
@@ -69,7 +69,7 @@ void X11DRV_BITMAP_Init(void)
 /***********************************************************************
  *           SelectBitmap   (X11DRV.@)
  */
-HBITMAP X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap )
+HBITMAP CDECL X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap )
 {
     X_PHYSBITMAP *physBitmap;
     BITMAP bitmap;
@@ -111,7 +111,7 @@ HBITMAP X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap )
  *
  * Returns TRUE on success else FALSE
  */
-BOOL X11DRV_CreateBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, LPVOID bmBits )
+BOOL CDECL X11DRV_CreateBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, LPVOID bmBits )
 {
     X_PHYSBITMAP *physBitmap;
     BITMAP bitmap;
@@ -175,7 +175,7 @@ BOOL X11DRV_CreateBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, LPVOID bmBit
  *    Success: Number of bytes copied
  *    Failure: 0
  */
-LONG X11DRV_GetBitmapBits( HBITMAP hbitmap, void *buffer, LONG count )
+LONG CDECL X11DRV_GetBitmapBits( HBITMAP hbitmap, void *buffer, LONG count )
 {
     BITMAP bitmap;
     X_PHYSBITMAP *physBitmap = X11DRV_get_phys_bitmap( hbitmap );
@@ -298,7 +298,7 @@ LONG X11DRV_GetBitmapBits( HBITMAP hbitmap, void *buffer, LONG count )
  *    Success: Number of bytes used in setting the bitmap bits
  *    Failure: 0
  */
-LONG X11DRV_SetBitmapBits( HBITMAP hbitmap, const void *bits, LONG count )
+LONG CDECL X11DRV_SetBitmapBits( HBITMAP hbitmap, const void *bits, LONG count )
 {
     BITMAP bitmap;
     X_PHYSBITMAP *physBitmap = X11DRV_get_phys_bitmap( hbitmap );
@@ -417,7 +417,7 @@ LONG X11DRV_SetBitmapBits( HBITMAP hbitmap, const void *bits, LONG count )
 /***********************************************************************
  *           DeleteBitmap   (X11DRV.@)
  */
-BOOL X11DRV_DeleteBitmap( HBITMAP hbitmap )
+BOOL CDECL X11DRV_DeleteBitmap( HBITMAP hbitmap )
 {
     X_PHYSBITMAP *physBitmap = X11DRV_get_phys_bitmap( hbitmap );
 
diff --git a/dlls/winex11.drv/brush.c b/dlls/winex11.drv/brush.c
index 5e51877..612968c 100644
--- a/dlls/winex11.drv/brush.c
+++ b/dlls/winex11.drv/brush.c
@@ -251,7 +251,7 @@ static BOOL BRUSH_SelectPatternBrush( X11DRV_PDEVICE *physDev, HBITMAP hbitmap )
 /***********************************************************************
  *           SelectBrush   (X11DRV.@)
  */
-HBRUSH X11DRV_SelectBrush( X11DRV_PDEVICE *physDev, HBRUSH hbrush )
+HBRUSH CDECL X11DRV_SelectBrush( X11DRV_PDEVICE *physDev, HBRUSH hbrush )
 {
     LOGBRUSH logbrush;
     HBITMAP hBitmap;
@@ -321,7 +321,7 @@ HBRUSH X11DRV_SelectBrush( X11DRV_PDEVICE *physDev, HBRUSH hbrush )
 /***********************************************************************
  *           SetDCBrushColor (X11DRV.@)
  */
-COLORREF X11DRV_SetDCBrushColor( X11DRV_PDEVICE *physDev, COLORREF crColor )
+COLORREF CDECL X11DRV_SetDCBrushColor( X11DRV_PDEVICE *physDev, COLORREF crColor )
 {
     if (GetCurrentObject(physDev->hdc, OBJ_BRUSH) == GetStockObject( DC_BRUSH ))
         BRUSH_SelectSolidBrush( physDev, crColor );
diff --git a/dlls/winex11.drv/dib.c b/dlls/winex11.drv/dib.c
index be38d89..2e0e812 100644
--- a/dlls/winex11.drv/dib.c
+++ b/dlls/winex11.drv/dib.c
@@ -3791,10 +3791,10 @@ static int X11DRV_DIB_GetImageBits( const X11DRV_DIB_IMAGEBITS_DESCR *descr )
  *		X11DRV_SetDIBitsToDevice
  *
  */
-INT X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest, INT yDest, DWORD cx,
-				DWORD cy, INT xSrc, INT ySrc,
-				UINT startscan, UINT lines, LPCVOID bits,
-				const BITMAPINFO *info, UINT coloruse )
+INT CDECL X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest, INT yDest, DWORD cx,
+                                      DWORD cy, INT xSrc, INT ySrc,
+                                      UINT startscan, UINT lines, LPCVOID bits,
+                                      const BITMAPINFO *info, UINT coloruse )
 {
     X11DRV_DIB_IMAGEBITS_DESCR descr;
     INT result;
@@ -3917,8 +3917,8 @@ INT X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest, INT yDest, DWO
 /***********************************************************************
  *           SetDIBits   (X11DRV.@)
  */
-INT X11DRV_SetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT startscan,
-                      UINT lines, LPCVOID bits, const BITMAPINFO *info, UINT coloruse )
+INT CDECL X11DRV_SetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT startscan,
+                              UINT lines, LPCVOID bits, const BITMAPINFO *info, UINT coloruse )
 {
   X_PHYSBITMAP *physBitmap = X11DRV_get_phys_bitmap( hbitmap );
   X11DRV_DIB_IMAGEBITS_DESCR descr;
@@ -4030,8 +4030,8 @@ INT X11DRV_SetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT startscan,
 /***********************************************************************
  *           GetDIBits   (X11DRV.@)
  */
-INT X11DRV_GetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT startscan, UINT lines,
-                      LPVOID bits, BITMAPINFO *info, UINT coloruse )
+INT CDECL X11DRV_GetDIBits( X11DRV_PDEVICE *physDev, HBITMAP hbitmap, UINT startscan, UINT lines,
+                              LPVOID bits, BITMAPINFO *info, UINT coloruse )
 {
   X_PHYSBITMAP *physBitmap = X11DRV_get_phys_bitmap( hbitmap );
   DIBSECTION dib;
@@ -4675,8 +4675,8 @@ static XImage *X11DRV_XShmCreateImage( int width, int height, int bpp,
 /***********************************************************************
  *           X11DRV_CreateDIBSection   (X11DRV.@)
  */
-HBITMAP X11DRV_CreateDIBSection( X11DRV_PDEVICE *physDev, HBITMAP hbitmap,
-                                 const BITMAPINFO *bmi, UINT usage )
+HBITMAP CDECL X11DRV_CreateDIBSection( X11DRV_PDEVICE *physDev, HBITMAP hbitmap,
+                                         const BITMAPINFO *bmi, UINT usage )
 {
     X_PHYSBITMAP *physBitmap;
     DIBSECTION dib;
@@ -4775,7 +4775,7 @@ void X11DRV_DIB_DeleteDIBSection(X_PHYSBITMAP *physBitmap, DIBSECTION *dib)
 /***********************************************************************
  *           SetDIBColorTable   (X11DRV.@)
  */
-UINT X11DRV_SetDIBColorTable( X11DRV_PDEVICE *physDev, UINT start, UINT count, const RGBQUAD *colors )
+UINT CDECL X11DRV_SetDIBColorTable( X11DRV_PDEVICE *physDev, UINT start, UINT count, const RGBQUAD *colors )
 {
     DIBSECTION dib;
     UINT ret = 0;
diff --git a/dlls/winex11.drv/graphics.c b/dlls/winex11.drv/graphics.c
index 6b6055f..4f87137 100644
--- a/dlls/winex11.drv/graphics.c
+++ b/dlls/winex11.drv/graphics.c
@@ -155,7 +155,7 @@ RGNDATA *X11DRV_GetRegionData( HRGN hrgn, HDC hdc_lptodp )
 /***********************************************************************
  *           X11DRV_SetDeviceClipping
  */
-void X11DRV_SetDeviceClipping( X11DRV_PDEVICE *physDev, HRGN vis_rgn, HRGN clip_rgn )
+void CDECL X11DRV_SetDeviceClipping( X11DRV_PDEVICE *physDev, HRGN vis_rgn, HRGN clip_rgn )
 {
     RGNDATA *data;
 
@@ -433,7 +433,7 @@ INT X11DRV_YWStoDS( X11DRV_PDEVICE *physDev, INT height )
 /***********************************************************************
  *           X11DRV_LineTo
  */
-BOOL
+BOOL CDECL
 X11DRV_LineTo( X11DRV_PDEVICE *physDev, INT x, INT y )
 {
     POINT pt[2];
@@ -629,7 +629,7 @@ X11DRV_DrawArc( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
 /***********************************************************************
  *           X11DRV_Arc
  */
-BOOL
+BOOL CDECL
 X11DRV_Arc( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
             INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -641,7 +641,7 @@ X11DRV_Arc( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           X11DRV_Pie
  */
-BOOL
+BOOL CDECL
 X11DRV_Pie( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
             INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -652,7 +652,7 @@ X11DRV_Pie( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           X11DRV_Chord
  */
-BOOL
+BOOL CDECL
 X11DRV_Chord( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
               INT xstart, INT ystart, INT xend, INT yend )
 {
@@ -664,7 +664,7 @@ X11DRV_Chord( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom,
 /***********************************************************************
  *           X11DRV_Ellipse
  */
-BOOL
+BOOL CDECL
 X11DRV_Ellipse( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom )
 {
     INT width, oldwidth;
@@ -728,7 +728,7 @@ X11DRV_Ellipse( X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT botto
 /***********************************************************************
  *           X11DRV_Rectangle
  */
-BOOL
+BOOL CDECL
 X11DRV_Rectangle(X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bottom)
 {
     INT width, oldwidth, oldjoinstyle;
@@ -801,7 +801,7 @@ X11DRV_Rectangle(X11DRV_PDEVICE *physDev, INT left, INT top, INT right, INT bott
 /***********************************************************************
  *           X11DRV_RoundRect
  */
-BOOL
+BOOL CDECL
 X11DRV_RoundRect( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
                   INT bottom, INT ell_width, INT ell_height )
 {
@@ -1011,7 +1011,7 @@ X11DRV_RoundRect( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
 /***********************************************************************
  *           X11DRV_SetPixel
  */
-COLORREF
+COLORREF CDECL
 X11DRV_SetPixel( X11DRV_PDEVICE *physDev, INT x, INT y, COLORREF color )
 {
     unsigned long pixel;
@@ -1043,7 +1043,7 @@ X11DRV_SetPixel( X11DRV_PDEVICE *physDev, INT x, INT y, COLORREF color )
 /***********************************************************************
  *           X11DRV_GetPixel
  */
-COLORREF
+COLORREF CDECL
 X11DRV_GetPixel( X11DRV_PDEVICE *physDev, INT x, INT y )
 {
     static Pixmap pixmap = 0;
@@ -1090,7 +1090,7 @@ X11DRV_GetPixel( X11DRV_PDEVICE *physDev, INT x, INT y )
 /***********************************************************************
  *           X11DRV_PaintRgn
  */
-BOOL
+BOOL CDECL
 X11DRV_PaintRgn( X11DRV_PDEVICE *physDev, HRGN hrgn )
 {
     if (X11DRV_SetupGCForBrush( physDev ))
@@ -1120,7 +1120,7 @@ X11DRV_PaintRgn( X11DRV_PDEVICE *physDev, HRGN hrgn )
 /**********************************************************************
  *          X11DRV_Polyline
  */
-BOOL
+BOOL CDECL
 X11DRV_Polyline( X11DRV_PDEVICE *physDev, const POINT* pt, INT count )
 {
     int i;
@@ -1157,7 +1157,7 @@ X11DRV_Polyline( X11DRV_PDEVICE *physDev, const POINT* pt, INT count )
 /**********************************************************************
  *          X11DRV_Polygon
  */
-BOOL
+BOOL CDECL
 X11DRV_Polygon( X11DRV_PDEVICE *physDev, const POINT* pt, INT count )
 {
     register int i;
@@ -1209,7 +1209,7 @@ X11DRV_Polygon( X11DRV_PDEVICE *physDev, const POINT* pt, INT count )
 /**********************************************************************
  *          X11DRV_PolyPolygon
  */
-BOOL
+BOOL CDECL
 X11DRV_PolyPolygon( X11DRV_PDEVICE *physDev, const POINT* pt, const INT* counts, UINT polygons)
 {
     HRGN hrgn;
@@ -1267,7 +1267,7 @@ X11DRV_PolyPolygon( X11DRV_PDEVICE *physDev, const POINT* pt, const INT* counts,
 /**********************************************************************
  *          X11DRV_PolyPolyline
  */
-BOOL
+BOOL CDECL
 X11DRV_PolyPolyline( X11DRV_PDEVICE *physDev, const POINT* pt, const DWORD* counts, DWORD polylines )
 {
     if (X11DRV_SetupGCForPen ( physDev ))
@@ -1386,7 +1386,7 @@ static int ExtFloodFillXGetImageErrorHandler( Display *dpy, XErrorEvent *event,
 /**********************************************************************
  *          X11DRV_ExtFloodFill
  */
-BOOL
+BOOL CDECL
 X11DRV_ExtFloodFill( X11DRV_PDEVICE *physDev, INT x, INT y, COLORREF color,
                      UINT fillType )
 {
@@ -1440,7 +1440,7 @@ X11DRV_ExtFloodFill( X11DRV_PDEVICE *physDev, INT x, INT y, COLORREF color,
 /**********************************************************************
  *          X11DRV_SetBkColor
  */
-COLORREF
+COLORREF CDECL
 X11DRV_SetBkColor( X11DRV_PDEVICE *physDev, COLORREF color )
 {
     physDev->backgroundPixel = X11DRV_PALETTE_ToPhysical( physDev, color );
@@ -1450,7 +1450,7 @@ X11DRV_SetBkColor( X11DRV_PDEVICE *physDev, COLORREF color )
 /**********************************************************************
  *          X11DRV_SetTextColor
  */
-COLORREF
+COLORREF CDECL
 X11DRV_SetTextColor( X11DRV_PDEVICE *physDev, COLORREF color )
 {
     physDev->textPixel = X11DRV_PALETTE_ToPhysical( physDev, color );
@@ -1460,7 +1460,7 @@ X11DRV_SetTextColor( X11DRV_PDEVICE *physDev, COLORREF color )
 /***********************************************************************
  *           GetDCOrgEx   (X11DRV.@)
  */
-BOOL X11DRV_GetDCOrgEx( X11DRV_PDEVICE *physDev, LPPOINT lpp )
+BOOL CDECL X11DRV_GetDCOrgEx( X11DRV_PDEVICE *physDev, LPPOINT lpp )
 {
     lpp->x = physDev->dc_rect.left + physDev->drawable_rect.left;
     lpp->y = physDev->dc_rect.top + physDev->drawable_rect.top;
@@ -1471,7 +1471,7 @@ BOOL X11DRV_GetDCOrgEx( X11DRV_PDEVICE *physDev, LPPOINT lpp )
 /***********************************************************************
  *           SetDCOrg   (X11DRV.@)
  */
-DWORD X11DRV_SetDCOrg( X11DRV_PDEVICE *physDev, INT x, INT y )
+DWORD CDECL X11DRV_SetDCOrg( X11DRV_PDEVICE *physDev, INT x, INT y )
 {
     DWORD ret = MAKELONG( physDev->dc_rect.left + physDev->drawable_rect.left,
                           physDev->dc_rect.top + physDev->drawable_rect.top );
@@ -1516,7 +1516,7 @@ extern void WINAPI A_SHAFinal( sha_ctx *, unsigned char * );
 /***********************************************************************
  *              GetICMProfile (X11DRV.@)
  */
-BOOL X11DRV_GetICMProfile( X11DRV_PDEVICE *physDev, LPDWORD size, LPWSTR filename )
+BOOL CDECL X11DRV_GetICMProfile( X11DRV_PDEVICE *physDev, LPDWORD size, LPWSTR filename )
 {
     static const WCHAR path[] =
         {'\\','s','p','o','o','l','\\','d','r','i','v','e','r','s',
diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c
index a8c5695..bd733eb 100644
--- a/dlls/winex11.drv/init.c
+++ b/dlls/winex11.drv/init.c
@@ -118,8 +118,8 @@ void X11DRV_GDI_Finalize(void)
 /**********************************************************************
  *	     X11DRV_CreateDC
  */
-BOOL X11DRV_CreateDC( HDC hdc, X11DRV_PDEVICE **pdev, LPCWSTR driver, LPCWSTR device,
-                      LPCWSTR output, const DEVMODEW* initData )
+BOOL CDECL X11DRV_CreateDC( HDC hdc, X11DRV_PDEVICE **pdev, LPCWSTR driver, LPCWSTR device,
+                              LPCWSTR output, const DEVMODEW* initData )
 {
     X11DRV_PDEVICE *physDev;
 
@@ -165,7 +165,7 @@ BOOL X11DRV_CreateDC( HDC hdc, X11DRV_PDEVICE **pdev, LPCWSTR driver, LPCWSTR de
 /**********************************************************************
  *	     X11DRV_DeleteDC
  */
-BOOL X11DRV_DeleteDC( X11DRV_PDEVICE *physDev )
+BOOL CDECL X11DRV_DeleteDC( X11DRV_PDEVICE *physDev )
 {
     if(physDev->xrender)
       X11DRV_XRender_DeleteDC( physDev );
@@ -181,7 +181,7 @@ BOOL X11DRV_DeleteDC( X11DRV_PDEVICE *physDev )
 /***********************************************************************
  *           GetDeviceCaps    (X11DRV.@)
  */
-INT X11DRV_GetDeviceCaps( X11DRV_PDEVICE *physDev, INT cap )
+INT CDECL X11DRV_GetDeviceCaps( X11DRV_PDEVICE *physDev, INT cap )
 {
     switch(cap)
     {
@@ -276,8 +276,8 @@ INT X11DRV_GetDeviceCaps( X11DRV_PDEVICE *physDev, INT cap )
 /**********************************************************************
  *           ExtEscape  (X11DRV.@)
  */
-INT X11DRV_ExtEscape( X11DRV_PDEVICE *physDev, INT escape, INT in_count, LPCVOID in_data,
-                      INT out_count, LPVOID out_data )
+INT CDECL X11DRV_ExtEscape( X11DRV_PDEVICE *physDev, INT escape, INT in_count, LPCVOID in_data,
+                              INT out_count, LPVOID out_data )
 {
     switch(escape)
     {
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index df5bae0..4566135 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -1054,7 +1054,7 @@ static XID create_bitmap_glxpixmap(X11DRV_PDEVICE *physDev, WineGLPixelFormat *f
  *
  * Equivalent to glXChooseVisual.
  */
-int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev, 
+int CDECL X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev, 
 			     const PIXELFORMATDESCRIPTOR *ppfd) {
     WineGLPixelFormat *list;
     int onscreen_size;
@@ -1295,7 +1295,7 @@ int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
  *
  * Get the pixel-format descriptor associated to the given id
  */
-int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
+int CDECL X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
 			       int iPixelFormat,
 			       UINT nBytes,
 			       PIXELFORMATDESCRIPTOR *ppfd) {
@@ -1436,7 +1436,7 @@ int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
  *
  * Get the pixel-format id used by this DC
  */
-int X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev) {
+int CDECL X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev) {
   WineGLPixelFormat *fmt;
   int tmp;
   TRACE("(%p)\n", physDev);
@@ -1545,7 +1545,7 @@ static BOOL internal_SetPixelFormat(X11DRV_PDEVICE *physDev,
  *
  * Set the pixel-format id used by this DC
  */
-BOOL X11DRV_SetPixelFormat(X11DRV_PDEVICE *physDev,
+BOOL CDECL X11DRV_SetPixelFormat(X11DRV_PDEVICE *physDev,
 			   int iPixelFormat,
 			   const PIXELFORMATDESCRIPTOR *ppfd) {
     TRACE("(%p,%d,%p)\n", physDev, iPixelFormat, ppfd);
@@ -1563,7 +1563,7 @@ BOOL X11DRV_SetPixelFormat(X11DRV_PDEVICE *physDev,
  *
  * For OpenGL32 wglCopyContext.
  */
-BOOL X11DRV_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask) {
+BOOL CDECL X11DRV_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask) {
     Wine_GLContext *src = (Wine_GLContext*)hglrcSrc;
     Wine_GLContext *dst = (Wine_GLContext*)hglrcDst;
 
@@ -1618,7 +1618,7 @@ BOOL X11DRV_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask) {
  *
  * For OpenGL32 wglCreateContext.
  */
-HGLRC X11DRV_wglCreateContext(X11DRV_PDEVICE *physDev)
+HGLRC CDECL X11DRV_wglCreateContext(X11DRV_PDEVICE *physDev)
 {
     Wine_GLContext *ret;
     WineGLPixelFormat *fmt;
@@ -1660,7 +1660,7 @@ HGLRC X11DRV_wglCreateContext(X11DRV_PDEVICE *physDev)
  *
  * For OpenGL32 wglDeleteContext.
  */
-BOOL X11DRV_wglDeleteContext(HGLRC hglrc)
+BOOL CDECL X11DRV_wglDeleteContext(HGLRC hglrc)
 {
     Wine_GLContext *ctx = (Wine_GLContext *) hglrc;
     BOOL ret = TRUE;
@@ -1709,7 +1709,7 @@ static HDC WINAPI X11DRV_wglGetCurrentReadDCARB(void)
  *
  * For OpenGL32 wglGetProcAddress.
  */
-PROC X11DRV_wglGetProcAddress(LPCSTR lpszProc)
+PROC CDECL X11DRV_wglGetProcAddress(LPCSTR lpszProc)
 {
     int i, j;
     const WineGLExtension *ext;
@@ -1746,7 +1746,7 @@ PROC X11DRV_wglGetProcAddress(LPCSTR lpszProc)
  *
  * For OpenGL32 wglMakeCurrent.
  */
-BOOL X11DRV_wglMakeCurrent(X11DRV_PDEVICE *physDev, HGLRC hglrc) {
+BOOL CDECL X11DRV_wglMakeCurrent(X11DRV_PDEVICE *physDev, HGLRC hglrc) {
     BOOL ret;
     HDC hdc = physDev->hdc;
     DWORD type = GetObjectType(hdc);
@@ -1809,7 +1809,7 @@ BOOL X11DRV_wglMakeCurrent(X11DRV_PDEVICE *physDev, HGLRC hglrc) {
  *
  * For OpenGL32 wglMakeContextCurrentARB
  */
-BOOL X11DRV_wglMakeContextCurrentARB(X11DRV_PDEVICE* pDrawDev, X11DRV_PDEVICE* pReadDev, HGLRC hglrc)
+BOOL CDECL X11DRV_wglMakeContextCurrentARB(X11DRV_PDEVICE* pDrawDev, X11DRV_PDEVICE* pReadDev, HGLRC hglrc)
 {
     BOOL ret;
     int indirect = (GetObjectType(pDrawDev->hdc) == OBJ_MEMDC);
@@ -1854,7 +1854,7 @@ BOOL X11DRV_wglMakeContextCurrentARB(X11DRV_PDEVICE* pDrawDev, X11DRV_PDEVICE* p
  *
  * For OpenGL32 wglShareLists.
  */
-BOOL X11DRV_wglShareLists(HGLRC hglrc1, HGLRC hglrc2) {
+BOOL CDECL X11DRV_wglShareLists(HGLRC hglrc1, HGLRC hglrc2) {
     Wine_GLContext *org  = (Wine_GLContext *) hglrc1;
     Wine_GLContext *dest = (Wine_GLContext *) hglrc2;
 
@@ -2000,7 +2000,7 @@ static BOOL internal_wglUseFontBitmaps(HDC hdc, DWORD first, DWORD count, DWORD
  *
  * For OpenGL32 wglUseFontBitmapsA.
  */
-BOOL X11DRV_wglUseFontBitmapsA(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
+BOOL CDECL X11DRV_wglUseFontBitmapsA(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
 {
      Font fid = physDev->font;
 
@@ -2024,7 +2024,7 @@ BOOL X11DRV_wglUseFontBitmapsA(X11DRV_PDEVICE *physDev, DWORD first, DWORD count
  *
  * For OpenGL32 wglUseFontBitmapsW.
  */
-BOOL X11DRV_wglUseFontBitmapsW(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
+BOOL CDECL X11DRV_wglUseFontBitmapsW(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
 {
      Font fid = physDev->font;
 
@@ -2395,7 +2395,7 @@ static GLboolean WINAPI X11DRV_wglDestroyPbufferARB(HPBUFFERARB hPbuffer)
  * Gdi32 implements the part of this function which creates a device context.
  * This part associates the physDev with the X drawable of the pbuffer.
  */
-HDC X11DRV_wglGetPbufferDCARB(X11DRV_PDEVICE *physDev, HPBUFFERARB hPbuffer)
+HDC CDECL X11DRV_wglGetPbufferDCARB(X11DRV_PDEVICE *physDev, HPBUFFERARB hPbuffer)
 {
     Wine_GLPBuffer* object = (Wine_GLPBuffer*) hPbuffer;
     if (NULL == object) {
@@ -3172,7 +3172,7 @@ static void WINAPI X11DRV_wglFreeMemoryNV(GLvoid* pointer) {
  * WGL_WINE_pixel_format_passthrough: wglSetPixelFormatWINE
  * This is a WINE-specific wglSetPixelFormat which can set the pixel format multiple times.
  */
-BOOL X11DRV_wglSetPixelFormatWINE(X11DRV_PDEVICE *physDev, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd)
+BOOL CDECL X11DRV_wglSetPixelFormatWINE(X11DRV_PDEVICE *physDev, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd)
 {
     TRACE("(%p,%d,%p)\n", physDev, iPixelFormat, ppfd);
 
@@ -3444,7 +3444,7 @@ BOOL destroy_glxpixmap(Display *display, XID glxpixmap)
  *
  * Swap the buffers of this DC
  */
-BOOL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev)
+BOOL CDECL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev)
 {
   GLXDrawable drawable;
   Wine_GLContext *ctx = NtCurrentTeb()->glContext;
@@ -3544,8 +3544,8 @@ Drawable create_glxpixmap(Display *display, XVisualInfo *vis, Pixmap parent)
 /***********************************************************************
  *		ChoosePixelFormat (X11DRV.@)
  */
-int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
-			     const PIXELFORMATDESCRIPTOR *ppfd) {
+int CDECL X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
+                                     const PIXELFORMATDESCRIPTOR *ppfd) {
   opengl_error();
   return 0;
 }
@@ -3554,9 +3554,9 @@ int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
  *		DescribePixelFormat (X11DRV.@)
  */
 int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
-			       int iPixelFormat,
-			       UINT nBytes,
-			       PIXELFORMATDESCRIPTOR *ppfd) {
+                               int iPixelFormat,
+                               UINT nBytes,
+                               PIXELFORMATDESCRIPTOR *ppfd) {
   opengl_error();
   return 0;
 }
@@ -3564,7 +3564,7 @@ int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
 /***********************************************************************
  *		GetPixelFormat (X11DRV.@)
  */
-int X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev) {
+int CDECL X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev) {
   opengl_error();
   return 0;
 }
@@ -3572,9 +3572,9 @@ int X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev) {
 /***********************************************************************
  *		SetPixelFormat (X11DRV.@)
  */
-BOOL X11DRV_SetPixelFormat(X11DRV_PDEVICE *physDev,
-			   int iPixelFormat,
-			   const PIXELFORMATDESCRIPTOR *ppfd) {
+BOOL CDECL X11DRV_SetPixelFormat(X11DRV_PDEVICE *physDev,
+                                   int iPixelFormat,
+                                   const PIXELFORMATDESCRIPTOR *ppfd) {
   opengl_error();
   return FALSE;
 }
@@ -3582,7 +3582,7 @@ BOOL X11DRV_SetPixelFormat(X11DRV_PDEVICE *physDev,
 /***********************************************************************
  *		SwapBuffers (X11DRV.@)
  */
-BOOL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev) {
+BOOL CDECL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev) {
   opengl_error();
   return FALSE;
 }
@@ -3592,7 +3592,7 @@ BOOL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev) {
  *
  * For OpenGL32 wglCopyContext.
  */
-BOOL X11DRV_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask) {
+BOOL CDECL X11DRV_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask) {
     opengl_error();
     return FALSE;
 }
@@ -3602,7 +3602,7 @@ BOOL X11DRV_wglCopyContext(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask) {
  *
  * For OpenGL32 wglCreateContext.
  */
-HGLRC X11DRV_wglCreateContext(X11DRV_PDEVICE *physDev) {
+HGLRC CDECL X11DRV_wglCreateContext(X11DRV_PDEVICE *physDev) {
     opengl_error();
     return NULL;
 }
@@ -3612,7 +3612,7 @@ HGLRC X11DRV_wglCreateContext(X11DRV_PDEVICE *physDev) {
  *
  * For OpenGL32 wglDeleteContext.
  */
-BOOL X11DRV_wglDeleteContext(HGLRC hglrc) {
+BOOL CDECL X11DRV_wglDeleteContext(HGLRC hglrc) {
     opengl_error();
     return FALSE;
 }
@@ -3622,18 +3622,18 @@ BOOL X11DRV_wglDeleteContext(HGLRC hglrc) {
  *
  * For OpenGL32 wglGetProcAddress.
  */
-PROC X11DRV_wglGetProcAddress(LPCSTR lpszProc) {
+PROC CDECL X11DRV_wglGetProcAddress(LPCSTR lpszProc) {
     opengl_error();
     return NULL;
 }
 
-HDC X11DRV_wglGetPbufferDCARB(X11DRV_PDEVICE *hDevice, void *hPbuffer)
+HDC CDECL X11DRV_wglGetPbufferDCARB(X11DRV_PDEVICE *hDevice, void *hPbuffer)
 {
     opengl_error();
     return NULL;
 }
 
-BOOL X11DRV_wglMakeContextCurrentARB(X11DRV_PDEVICE* hDrawDev, X11DRV_PDEVICE* hReadDev, HGLRC hglrc) {
+BOOL CDECL X11DRV_wglMakeContextCurrentARB(X11DRV_PDEVICE* hDrawDev, X11DRV_PDEVICE* hReadDev, HGLRC hglrc) {
     opengl_error();
     return FALSE;
 }
@@ -3643,7 +3643,7 @@ BOOL X11DRV_wglMakeContextCurrentARB(X11DRV_PDEVICE* hDrawDev, X11DRV_PDEVICE* h
  *
  * For OpenGL32 wglMakeCurrent.
  */
-BOOL X11DRV_wglMakeCurrent(X11DRV_PDEVICE *physDev, HGLRC hglrc) {
+BOOL CDECL X11DRV_wglMakeCurrent(X11DRV_PDEVICE *physDev, HGLRC hglrc) {
     opengl_error();
     return FALSE;
 }
@@ -3653,7 +3653,7 @@ BOOL X11DRV_wglMakeCurrent(X11DRV_PDEVICE *physDev, HGLRC hglrc) {
  *
  * For OpenGL32 wglShareLists.
  */
-BOOL X11DRV_wglShareLists(HGLRC hglrc1, HGLRC hglrc2) {
+BOOL CDECL X11DRV_wglShareLists(HGLRC hglrc1, HGLRC hglrc2) {
     opengl_error();
     return FALSE;
 }
@@ -3663,7 +3663,7 @@ BOOL X11DRV_wglShareLists(HGLRC hglrc1, HGLRC hglrc2) {
  *
  * For OpenGL32 wglUseFontBitmapsA.
  */
-BOOL X11DRV_wglUseFontBitmapsA(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
+BOOL CDECL X11DRV_wglUseFontBitmapsA(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
 {
     opengl_error();
     return FALSE;
@@ -3674,7 +3674,7 @@ BOOL X11DRV_wglUseFontBitmapsA(X11DRV_PDEVICE *physDev, DWORD first, DWORD count
  *
  * For OpenGL32 wglUseFontBitmapsW.
  */
-BOOL X11DRV_wglUseFontBitmapsW(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
+BOOL CDECL X11DRV_wglUseFontBitmapsW(X11DRV_PDEVICE *physDev, DWORD first, DWORD count, DWORD listBase)
 {
     opengl_error();
     return FALSE;
@@ -3686,7 +3686,7 @@ BOOL X11DRV_wglUseFontBitmapsW(X11DRV_PDEVICE *physDev, DWORD first, DWORD count
  * WGL_WINE_pixel_format_passthrough: wglSetPixelFormatWINE
  * This is a WINE-specific wglSetPixelFormat which can set the pixel format multiple times.
  */
-BOOL X11DRV_wglSetPixelFormatWINE(X11DRV_PDEVICE *physDev, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd)
+BOOL CDECL X11DRV_wglSetPixelFormatWINE(X11DRV_PDEVICE *physDev, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd)
 {
     opengl_error();
     return FALSE;
diff --git a/dlls/winex11.drv/pen.c b/dlls/winex11.drv/pen.c
index cd29294..49fe74c 100644
--- a/dlls/winex11.drv/pen.c
+++ b/dlls/winex11.drv/pen.c
@@ -28,7 +28,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(x11drv);
 /***********************************************************************
  *           SelectPen   (X11DRV.@)
  */
-HPEN X11DRV_SelectPen( X11DRV_PDEVICE *physDev, HPEN hpen )
+HPEN CDECL X11DRV_SelectPen( X11DRV_PDEVICE *physDev, HPEN hpen )
 {
     static const char PEN_dash[]          = { 16,8 };
     static const char PEN_dot[]           = { 4,4 };
@@ -126,7 +126,7 @@ HPEN X11DRV_SelectPen( X11DRV_PDEVICE *physDev, HPEN hpen )
 /***********************************************************************
  *           SetDCPenColor (X11DRV.@)
  */
-COLORREF X11DRV_SetDCPenColor( X11DRV_PDEVICE *physDev, COLORREF crColor )
+COLORREF CDECL X11DRV_SetDCPenColor( X11DRV_PDEVICE *physDev, COLORREF crColor )
 {
     if (GetCurrentObject(physDev->hdc, OBJ_PEN) == GetStockObject( DC_PEN ))
         physDev->pen.pixel = X11DRV_PALETTE_ToPhysical( physDev, crColor );
diff --git a/dlls/winex11.drv/text.c b/dlls/winex11.drv/text.c
index 92a14f5..3e854e3 100644
--- a/dlls/winex11.drv/text.c
+++ b/dlls/winex11.drv/text.c
@@ -37,7 +37,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(text);
 /***********************************************************************
  *           X11DRV_ExtTextOut
  */
-BOOL
+BOOL CDECL
 X11DRV_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y, UINT flags,
                    const RECT *lprect, LPCWSTR wstr, UINT count,
                    const INT *lpDx )
@@ -201,8 +201,8 @@ END:
 /***********************************************************************
  *           X11DRV_GetTextExtentExPoint
  */
-BOOL X11DRV_GetTextExtentExPoint( X11DRV_PDEVICE *physDev, LPCWSTR str, INT count,
-                                  INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size )
+BOOL CDECL X11DRV_GetTextExtentExPoint( X11DRV_PDEVICE *physDev, LPCWSTR str, INT count,
+                                          INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size )
 {
     fontObject* pfo = XFONT_GetFontObject( physDev->font );
 
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index 9588a73..c488741 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -66,8 +66,8 @@ typedef int Status;
 
 struct tagCURSORICONINFO;
 
-extern void wine_tsx11_lock(void);
-extern void wine_tsx11_unlock(void);
+extern void CDECL wine_tsx11_lock(void);
+extern void CDECL wine_tsx11_unlock(void);
 
   /* X physical pen */
 typedef struct
@@ -152,82 +152,80 @@ extern X_PHYSBITMAP BITMAP_stock_phys_bitmap;  /* phys bitmap for the default st
 
 /* Wine driver X11 functions */
 
-extern BOOL X11DRV_AlphaBlend( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
-                               INT widthDst, INT heightDst,
-                               X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
-                               INT widthSrc, INT heightSrc, BLENDFUNCTION blendfn );
-extern BOOL X11DRV_BitBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
-                             INT width, INT height, X11DRV_PDEVICE *physDevSrc,
-                             INT xSrc, INT ySrc, DWORD rop );
-extern BOOL X11DRV_EnumDeviceFonts( X11DRV_PDEVICE *physDev, LPLOGFONTW plf,
-                                    FONTENUMPROCW dfeproc, LPARAM lp );
-extern LONG X11DRV_GetBitmapBits( HBITMAP hbitmap, void *bits, LONG count );
-extern BOOL X11DRV_GetCharWidth( X11DRV_PDEVICE *physDev, UINT firstChar,
-                                   UINT lastChar, LPINT buffer );
-extern BOOL X11DRV_GetDCOrgEx( X11DRV_PDEVICE *physDev, LPPOINT lpp );
-extern BOOL X11DRV_GetTextExtentExPoint( X11DRV_PDEVICE *physDev, LPCWSTR str, INT count,
-                                  INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size );
-extern BOOL X11DRV_GetTextMetrics(X11DRV_PDEVICE *physDev, TEXTMETRICW *metrics);
-extern BOOL X11DRV_PatBlt( X11DRV_PDEVICE *physDev, INT left, INT top,
-                             INT width, INT height, DWORD rop );
-extern BOOL X11DRV_StretchBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
-                                 INT widthDst, INT heightDst,
-                                 X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
-                                 INT widthSrc, INT heightSrc, DWORD rop );
-extern BOOL X11DRV_LineTo( X11DRV_PDEVICE *physDev, INT x, INT y);
-extern BOOL X11DRV_Arc( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
-			  INT bottom, INT xstart, INT ystart, INT xend,
-			  INT yend );
-extern BOOL X11DRV_Pie( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
-			  INT bottom, INT xstart, INT ystart, INT xend,
-			  INT yend );
-extern BOOL X11DRV_Chord( X11DRV_PDEVICE *physDev, INT left, INT top,
-			    INT right, INT bottom, INT xstart,
-			    INT ystart, INT xend, INT yend );
-extern BOOL X11DRV_Ellipse( X11DRV_PDEVICE *physDev, INT left, INT top,
-			      INT right, INT bottom );
-extern BOOL X11DRV_Rectangle(X11DRV_PDEVICE *physDev, INT left, INT top,
-			      INT right, INT bottom);
-extern BOOL X11DRV_RoundRect( X11DRV_PDEVICE *physDev, INT left, INT top,
-				INT right, INT bottom, INT ell_width,
-				INT ell_height );
-extern COLORREF X11DRV_SetPixel( X11DRV_PDEVICE *physDev, INT x, INT y,
-				 COLORREF color );
-extern COLORREF X11DRV_GetPixel( X11DRV_PDEVICE *physDev, INT x, INT y);
-extern BOOL X11DRV_PaintRgn( X11DRV_PDEVICE *physDev, HRGN hrgn );
-extern BOOL X11DRV_Polyline( X11DRV_PDEVICE *physDev,const POINT* pt,INT count);
-extern BOOL X11DRV_Polygon( X11DRV_PDEVICE *physDev, const POINT* pt, INT count );
-extern BOOL X11DRV_PolyPolygon( X11DRV_PDEVICE *physDev, const POINT* pt,
-				  const INT* counts, UINT polygons);
-extern BOOL X11DRV_PolyPolyline( X11DRV_PDEVICE *physDev, const POINT* pt,
-				  const DWORD* counts, DWORD polylines);
-
-extern COLORREF X11DRV_SetBkColor( X11DRV_PDEVICE *physDev, COLORREF color );
-extern COLORREF X11DRV_SetTextColor( X11DRV_PDEVICE *physDev, COLORREF color );
-extern BOOL X11DRV_ExtFloodFill( X11DRV_PDEVICE *physDev, INT x, INT y,
-				   COLORREF color, UINT fillType );
-extern BOOL X11DRV_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y,
-				 UINT flags, const RECT *lprect,
-				 LPCWSTR str, UINT count, const INT *lpDx );
-extern LONG X11DRV_SetBitmapBits( HBITMAP hbitmap, const void *bits, LONG count );
-extern void X11DRV_SetDeviceClipping( X11DRV_PDEVICE *physDev, HRGN vis_rgn, HRGN clip_rgn );
-extern INT X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest,
-				       INT yDest, DWORD cx, DWORD cy,
-				       INT xSrc, INT ySrc,
-				       UINT startscan, UINT lines,
-				       LPCVOID bits, const BITMAPINFO *info,
-				       UINT coloruse );
-extern BOOL X11DRV_GetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
-extern BOOL X11DRV_SetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
+extern BOOL CDECL X11DRV_AlphaBlend( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
+                                       INT widthDst, INT heightDst,
+                                       X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
+                                       INT widthSrc, INT heightSrc, BLENDFUNCTION blendfn );
+extern BOOL CDECL X11DRV_BitBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
+                                   INT width, INT height, X11DRV_PDEVICE *physDevSrc,
+                                   INT xSrc, INT ySrc, DWORD rop );
+extern BOOL CDECL X11DRV_EnumDeviceFonts( X11DRV_PDEVICE *physDev, LPLOGFONTW plf,
+                                            FONTENUMPROCW dfeproc, LPARAM lp );
+extern LONG CDECL X11DRV_GetBitmapBits( HBITMAP hbitmap, void *bits, LONG count );
+extern BOOL CDECL X11DRV_GetCharWidth( X11DRV_PDEVICE *physDev, UINT firstChar,
+                                         UINT lastChar, LPINT buffer );
+extern BOOL CDECL X11DRV_GetDCOrgEx( X11DRV_PDEVICE *physDev, LPPOINT lpp );
+extern BOOL CDECL X11DRV_GetTextExtentExPoint( X11DRV_PDEVICE *physDev, LPCWSTR str, INT count,
+                                                 INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size );
+extern BOOL CDECL X11DRV_GetTextMetrics(X11DRV_PDEVICE *physDev, TEXTMETRICW *metrics);
+extern BOOL CDECL X11DRV_PatBlt( X11DRV_PDEVICE *physDev, INT left, INT top,
+                                   INT width, INT height, DWORD rop );
+extern BOOL CDECL X11DRV_StretchBlt( X11DRV_PDEVICE *physDevDst, INT xDst, INT yDst,
+                                       INT widthDst, INT heightDst,
+                                       X11DRV_PDEVICE *physDevSrc, INT xSrc, INT ySrc,
+                                       INT widthSrc, INT heightSrc, DWORD rop );
+extern BOOL CDECL X11DRV_LineTo( X11DRV_PDEVICE *physDev, INT x, INT y);
+extern BOOL CDECL X11DRV_Arc( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
+                                INT bottom, INT xstart, INT ystart, INT xend, INT yend );
+extern BOOL CDECL X11DRV_Pie( X11DRV_PDEVICE *physDev, INT left, INT top, INT right,
+                                INT bottom, INT xstart, INT ystart, INT xend,
+                                INT yend );
+extern BOOL CDECL X11DRV_Chord( X11DRV_PDEVICE *physDev, INT left, INT top,
+                                  INT right, INT bottom, INT xstart,
+                                  INT ystart, INT xend, INT yend );
+extern BOOL CDECL X11DRV_Ellipse( X11DRV_PDEVICE *physDev, INT left, INT top,
+                                    INT right, INT bottom );
+extern BOOL CDECL X11DRV_Rectangle(X11DRV_PDEVICE *physDev, INT left, INT top,
+                                     INT right, INT bottom);
+extern BOOL CDECL X11DRV_RoundRect( X11DRV_PDEVICE *physDev, INT left, INT top,
+                                      INT right, INT bottom, INT ell_width,
+                                      INT ell_height );
+extern COLORREF CDECL X11DRV_SetPixel( X11DRV_PDEVICE *physDev, INT x, INT y, COLORREF color );
+extern COLORREF CDECL X11DRV_GetPixel( X11DRV_PDEVICE *physDev, INT x, INT y);
+extern BOOL CDECL X11DRV_PaintRgn( X11DRV_PDEVICE *physDev, HRGN hrgn );
+extern BOOL CDECL X11DRV_Polyline( X11DRV_PDEVICE *physDev,const POINT* pt,INT count);
+extern BOOL CDECL X11DRV_Polygon( X11DRV_PDEVICE *physDev, const POINT* pt, INT count );
+extern BOOL CDECL X11DRV_PolyPolygon( X11DRV_PDEVICE *physDev, const POINT* pt,
+                                        const INT* counts, UINT polygons);
+extern BOOL CDECL X11DRV_PolyPolyline( X11DRV_PDEVICE *physDev, const POINT* pt,
+                                         const DWORD* counts, DWORD polylines);
+
+extern COLORREF CDECL X11DRV_SetBkColor( X11DRV_PDEVICE *physDev, COLORREF color );
+extern COLORREF CDECL X11DRV_SetTextColor( X11DRV_PDEVICE *physDev, COLORREF color );
+extern BOOL CDECL X11DRV_ExtFloodFill( X11DRV_PDEVICE *physDev, INT x, INT y,
+                                         COLORREF color, UINT fillType );
+extern BOOL CDECL X11DRV_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y,
+                                       UINT flags, const RECT *lprect,
+                                       LPCWSTR str, UINT count, const INT *lpDx );
+extern LONG CDECL X11DRV_SetBitmapBits( HBITMAP hbitmap, const void *bits, LONG count );
+extern void CDECL X11DRV_SetDeviceClipping( X11DRV_PDEVICE *physDev, HRGN vis_rgn, HRGN clip_rgn );
+extern INT CDECL X11DRV_SetDIBitsToDevice( X11DRV_PDEVICE *physDev, INT xDest,
+                                             INT yDest, DWORD cx, DWORD cy,
+                                             INT xSrc, INT ySrc,
+                                             UINT startscan, UINT lines,
+                                             LPCVOID bits, const BITMAPINFO *info,
+                                             UINT coloruse );
+extern BOOL CDECL X11DRV_GetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
+extern BOOL CDECL X11DRV_SetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
 
 /* OpenGL / X11 driver functions */
-extern int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
+extern int CDECL X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
 		                      const PIXELFORMATDESCRIPTOR *pppfd);
-extern int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
+extern int CDECL X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
 		                        int iPixelFormat, UINT nBytes,
 					PIXELFORMATDESCRIPTOR *ppfd);
-extern int X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev);
-extern BOOL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev);
+extern int CDECL X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev);
+extern BOOL CDECL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev);
 
 /* X11 driver internal functions */
 
diff --git a/dlls/winex11.drv/xfont.c b/dlls/winex11.drv/xfont.c
index 9fcb993..6fff55a 100644
--- a/dlls/winex11.drv/xfont.c
+++ b/dlls/winex11.drv/xfont.c
@@ -3190,7 +3190,7 @@ XFontStruct* XFONT_GetFontStruct( X_PHYSFONT pFont )
 /***********************************************************************
  *           SelectFont   (X11DRV.@)
  */
-HFONT X11DRV_SelectFont( X11DRV_PDEVICE *physDev, HFONT hfont, HANDLE gdiFont )
+HFONT CDECL X11DRV_SelectFont( X11DRV_PDEVICE *physDev, HFONT hfont, HANDLE gdiFont )
 {
     LOGFONTW logfont;
     LOGFONT16 lf;
@@ -3283,8 +3283,8 @@ HFONT X11DRV_SelectFont( X11DRV_PDEVICE *physDev, HFONT hfont, HANDLE gdiFont )
  *
  *           X11DRV_EnumDeviceFonts
  */
-BOOL X11DRV_EnumDeviceFonts( X11DRV_PDEVICE *physDev, LPLOGFONTW plf,
-                             FONTENUMPROCW proc, LPARAM lp )
+BOOL CDECL X11DRV_EnumDeviceFonts( X11DRV_PDEVICE *physDev, LPLOGFONTW plf,
+                                     FONTENUMPROCW proc, LPARAM lp )
 {
     ENUMLOGFONTEXW	lf;
     NEWTEXTMETRICEXW	tm;
@@ -3347,7 +3347,7 @@ BOOL X11DRV_EnumDeviceFonts( X11DRV_PDEVICE *physDev, LPLOGFONTW plf,
 /***********************************************************************
  *           X11DRV_GetTextMetrics
  */
-BOOL X11DRV_GetTextMetrics(X11DRV_PDEVICE *physDev, TEXTMETRICW *metrics)
+BOOL CDECL X11DRV_GetTextMetrics(X11DRV_PDEVICE *physDev, TEXTMETRICW *metrics)
 {
     if( CHECK_PFONT(physDev->font) )
     {
@@ -3362,8 +3362,8 @@ BOOL X11DRV_GetTextMetrics(X11DRV_PDEVICE *physDev, TEXTMETRICW *metrics)
 /***********************************************************************
  *           X11DRV_GetCharWidth
  */
-BOOL X11DRV_GetCharWidth( X11DRV_PDEVICE *physDev, UINT firstChar, UINT lastChar,
-                            LPINT buffer )
+BOOL CDECL X11DRV_GetCharWidth( X11DRV_PDEVICE *physDev, UINT firstChar, UINT lastChar,
+                                  LPINT buffer )
 {
     fontObject* pfo = XFONT_GetFontObject( physDev->font );
 
diff --git a/dlls/winex11.drv/xrender.c b/dlls/winex11.drv/xrender.c
index b343962..8fa4bcf 100644
--- a/dlls/winex11.drv/xrender.c
+++ b/dlls/winex11.drv/xrender.c
@@ -1531,9 +1531,9 @@ done_unlock:
 /******************************************************************************
  * AlphaBlend         (x11drv.@)
  */
-BOOL X11DRV_AlphaBlend(X11DRV_PDEVICE *devDst, INT xDst, INT yDst, INT widthDst, INT heightDst,
-                       X11DRV_PDEVICE *devSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc,
-                       BLENDFUNCTION blendfn)
+BOOL CDECL X11DRV_AlphaBlend(X11DRV_PDEVICE *devDst, INT xDst, INT yDst, INT widthDst, INT heightDst,
+                               X11DRV_PDEVICE *devSrc, INT xSrc, INT ySrc, INT widthSrc, INT heightSrc,
+                               BLENDFUNCTION blendfn)
 {
     XRenderPictureAttributes pa;
     XRenderPictFormat *src_format;
diff --git a/dlls/winex11.drv/xvidmode.c b/dlls/winex11.drv/xvidmode.c
index 4ffbdc9..19b9909 100644
--- a/dlls/winex11.drv/xvidmode.c
+++ b/dlls/winex11.drv/xvidmode.c
@@ -432,7 +432,7 @@ static BOOL X11DRV_XF86VM_SetGammaRamp(LPDDGAMMARAMP ramp)
  * the stuff in graphics/x11drv/ has been moved to dlls/x11drv, so that
  * they can include xvidmode.h directly
  */
-BOOL X11DRV_GetDeviceGammaRamp(X11DRV_PDEVICE *physDev, LPVOID ramp)
+BOOL CDECL X11DRV_GetDeviceGammaRamp(X11DRV_PDEVICE *physDev, LPVOID ramp)
 {
 #ifdef SONAME_LIBXXF86VM
   return X11DRV_XF86VM_GetGammaRamp(ramp);
@@ -448,7 +448,7 @@ BOOL X11DRV_GetDeviceGammaRamp(X11DRV_PDEVICE *physDev, LPVOID ramp)
  * the stuff in graphics/x11drv/ has been moved to dlls/x11drv, so that
  * they can include xvidmode.h directly
  */
-BOOL X11DRV_SetDeviceGammaRamp(X11DRV_PDEVICE *physDev, LPVOID ramp)
+BOOL CDECL X11DRV_SetDeviceGammaRamp(X11DRV_PDEVICE *physDev, LPVOID ramp)
 {
 #ifdef SONAME_LIBXXF86VM
   return X11DRV_XF86VM_SetGammaRamp(ramp);
-- 
1.5.6.5


--------------080804020303090007060806--



More information about the wine-patches mailing list