Make GdiFont a proper C structure, with GdiFont* being a pointer

Dmitry Timoshkov dmitry at codeweavers.com
Thu Sep 28 01:11:06 CDT 2006


Hello,

Changelog:
    Make GdiFont a proper C structure, with GdiFont* being a pointer.

diff -up cvs/hq/wine/dlls/gdi/freetype.c wine/dlls/gdi/freetype.c
--- cvs/hq/wine/dlls/gdi/freetype.c	2006-09-27 16:06:30.000000000 +0900
+++ wine/dlls/gdi/freetype.c	2006-09-28 14:52:11.000000000 +0900
@@ -248,7 +248,7 @@ typedef struct {
     struct list entry;
     char *file_name;
     INT index;
-    GdiFont font;
+    GdiFont *font;
 } CHILD_FONT;
 
 struct tagGdiFont {
@@ -273,7 +273,7 @@ struct tagGdiFont {
     DWORD total_kern_pairs;
     KERNINGPAIR *kern_pairs;
     FONTSIGNATURE fs;
-    GdiFont base_font;
+    GdiFont *base_font;
     struct list child_fonts;
     LONG ppem;
 };
@@ -1867,9 +1867,9 @@ static LONG calc_ppem_for_height(FT_Face
     return ppem;
 }
 
-static LONG load_VDMX(GdiFont, LONG);
+static LONG load_VDMX(GdiFont*, LONG);
 
-static FT_Face OpenFontFile(GdiFont font, char *file, FT_Long face_index, LONG width, LONG height)
+static FT_Face OpenFontFile(GdiFont *font, char *file, FT_Long face_index, LONG width, LONG height)
 {
     FT_Error err;
     FT_Face ft_face;
@@ -1935,9 +1935,9 @@ static int get_nearest_charset(Face *fac
     return DEFAULT_CHARSET;
 }
 
-static GdiFont alloc_font(void)
+static GdiFont *alloc_font(void)
 {
-    GdiFont ret = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*ret));
+    GdiFont *ret = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*ret));
     ret->gmsize = INIT_GM_SIZE;
     ret->gm = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
 			ret->gmsize * sizeof(*ret->gm));
@@ -1950,7 +1950,7 @@ static GdiFont alloc_font(void)
     return ret;
 }
 
-static void free_font(GdiFont font)
+static void free_font(GdiFont *font)
 {
     struct list *cursor, *cursor2;
 
@@ -2008,7 +2008,7 @@ typedef struct {
     BYTE endsz;
 } VDMX_group;
 
-static LONG load_VDMX(GdiFont font, LONG height)
+static LONG load_VDMX(GdiFont *font, LONG height)
 {
     WORD hdr[3], tmp;
     VDMX_group group;
@@ -2136,7 +2136,7 @@ static LONG load_VDMX(GdiFont font, LONG
     return ppem;
 }
 
-static BOOL fontcmp(GdiFont font, FONT_DESC *fd)
+static BOOL fontcmp(GdiFont *font, FONT_DESC *fd)
 {
     if(font->font_desc.hash != fd->hash) return TRUE;
     if(memcmp(&font->font_desc.matrix, &fd->matrix, sizeof(fd->matrix))) return TRUE;
@@ -2170,9 +2170,9 @@ static void calc_hash(FONT_DESC *pfd)
     return;
 }
 
-static GdiFont find_in_cache(HFONT hfont, LOGFONTW *plf, XFORM *pxf, BOOL can_use_bitmap)
+static GdiFont *find_in_cache(HFONT hfont, LOGFONTW *plf, XFORM *pxf, BOOL can_use_bitmap)
 {
-    GdiFont ret;
+    GdiFont *ret;
     FONT_DESC fd;
     HFONTLIST *hflist;
     struct list *font_elem_ptr, *hfontlist_elem_ptr;
@@ -2223,7 +2223,7 @@ static GdiFont find_in_cache(HFONT hfont
 /*************************************************************
  * create_child_font_list
  */
-static BOOL create_child_font_list(GdiFont font)
+static BOOL create_child_font_list(GdiFont *font)
 {
     BOOL ret = FALSE;
     SYSTEM_LINKS *font_link;
@@ -2255,9 +2255,9 @@ static BOOL create_child_font_list(GdiFo
  * WineEngCreateFontInstance
  *
  */
-GdiFont WineEngCreateFontInstance(DC *dc, HFONT hfont)
+GdiFont *WineEngCreateFontInstance(DC *dc, HFONT hfont)
 {
-    GdiFont ret;
+    GdiFont *ret;
     Face *face, *best, *best_bitmap;
     Family *family, *last_resort_family;
     struct list *family_elem_ptr, *face_elem_ptr;
@@ -2535,7 +2535,7 @@ found:
 
 static void dump_gdi_font_list(void)
 {
-    GdiFont gdiFont;
+    GdiFont *gdiFont;
     struct list *elem_ptr;
 
     TRACE("---------- gdiFont Cache ----------\n");
@@ -2561,7 +2561,7 @@ static void dump_gdi_font_list(void)
  */
 BOOL WineEngDestroyFontInstance(HFONT handle)
 {
-    GdiFont gdiFont;
+    GdiFont *gdiFont;
     HFONTLIST *hflist;
     BOOL ret = FALSE;
     struct list *font_elem_ptr, *hfontlist_elem_ptr;
@@ -2625,7 +2625,7 @@ static void GetEnumStructs(Face *face, L
     OUTLINETEXTMETRICW *potm = NULL;
     UINT size;
     TEXTMETRICW tm, *ptm;
-    GdiFont font = alloc_font();
+    GdiFont *font = alloc_font();
     LONG width, height;
 
     if(face->scalable) {
@@ -2866,7 +2866,7 @@ static BOOL codepage_sets_default_used(U
    }
 }
 
-static FT_UInt get_glyph_index(GdiFont font, UINT glyph)
+static FT_UInt get_glyph_index(GdiFont *font, UINT glyph)
 {
     if(font->ft_face->charmap->encoding == FT_ENCODING_NONE) {
         WCHAR wc = (WCHAR)glyph;
@@ -2896,7 +2896,7 @@ static FT_UInt get_glyph_index(GdiFont f
  *
  * FIXME: add support for GGI_MARK_NONEXISTING_GLYPHS
  */
-DWORD WineEngGetGlyphIndices(GdiFont font, LPCWSTR lpstr, INT count,
+DWORD WineEngGetGlyphIndices(GdiFont *font, LPCWSTR lpstr, INT count,
 				LPWORD pgi, DWORD flags)
 {
     int i;
@@ -2929,7 +2929,7 @@ DWORD WineEngGetGlyphIndices(GdiFont fon
  * question rather than an HDC.
  *
  */
-DWORD WineEngGetGlyphOutline(GdiFont font, UINT glyph, UINT format,
+DWORD WineEngGetGlyphOutline(GdiFont *font, UINT glyph, UINT format,
 			     LPGLYPHMETRICS lpgm, DWORD buflen, LPVOID buf,
 			     const MAT2* lpmat)
 {
@@ -3383,7 +3383,7 @@ DWORD WineEngGetGlyphOutline(GdiFont fon
     return needed;
 }
 
-static BOOL get_bitmap_text_metrics(GdiFont font)
+static BOOL get_bitmap_text_metrics(GdiFont *font)
 {
     FT_Face ft_face = font->ft_face;
 #ifdef HAVE_FREETYPE_FTWINFNT_H
@@ -3452,7 +3452,7 @@ static BOOL get_bitmap_text_metrics(GdiF
  * WineEngGetTextMetrics
  *
  */
-BOOL WineEngGetTextMetrics(GdiFont font, LPTEXTMETRICW ptm)
+BOOL WineEngGetTextMetrics(GdiFont *font, LPTEXTMETRICW ptm)
 {
     if(!font->potm) {
         if(!WineEngGetOutlineTextMetrics(font, 0, NULL))
@@ -3473,7 +3473,7 @@ BOOL WineEngGetTextMetrics(GdiFont font,
  * WineEngGetOutlineTextMetrics
  *
  */
-UINT WineEngGetOutlineTextMetrics(GdiFont font, UINT cbSize,
+UINT WineEngGetOutlineTextMetrics(GdiFont *font, UINT cbSize,
 				  OUTLINETEXTMETRICW *potm)
 {
     FT_Face ft_face = font->ft_face;
@@ -3719,7 +3719,7 @@ end:
     return ret;
 }
 
-static BOOL load_child_font(GdiFont font, CHILD_FONT *child)
+static BOOL load_child_font(GdiFont *font, CHILD_FONT *child)
 {
     HFONTLIST *hfontlist;
     child->font = alloc_font();
@@ -3741,7 +3741,7 @@ static BOOL load_child_font(GdiFont font
     return TRUE;
 }
 
-static BOOL get_glyph_index_linked(GdiFont font, UINT c, GdiFont *linked_font, FT_UInt *glyph)
+static BOOL get_glyph_index_linked(GdiFont *font, UINT c, GdiFont **linked_font, FT_UInt *glyph)
 {
     FT_UInt g;
     CHILD_FONT *child_font;
@@ -3777,13 +3777,13 @@ static BOOL get_glyph_index_linked(GdiFo
  * WineEngGetCharWidth
  *
  */
-BOOL WineEngGetCharWidth(GdiFont font, UINT firstChar, UINT lastChar,
+BOOL WineEngGetCharWidth(GdiFont *font, UINT firstChar, UINT lastChar,
 			 LPINT buffer)
 {
     UINT c;
     GLYPHMETRICS gm;
     FT_UInt glyph_index;
-    GdiFont linked_font;
+    GdiFont *linked_font;
 
     TRACE("%p, %d, %d, %p\n", font, firstChar, lastChar, buffer);
 
@@ -3800,13 +3800,13 @@ BOOL WineEngGetCharWidth(GdiFont font, U
  * WineEngGetCharABCWidths
  *
  */
-BOOL WineEngGetCharABCWidths(GdiFont font, UINT firstChar, UINT lastChar,
+BOOL WineEngGetCharABCWidths(GdiFont *font, UINT firstChar, UINT lastChar,
 			     LPABC buffer)
 {
     UINT c;
     GLYPHMETRICS gm;
     FT_UInt glyph_index;
-    GdiFont linked_font;
+    GdiFont *linked_font;
 
     TRACE("%p, %d, %d, %p\n", font, firstChar, lastChar, buffer);
 
@@ -3829,13 +3829,13 @@ BOOL WineEngGetCharABCWidths(GdiFont fon
  * WineEngGetCharABCWidthsI
  *
  */
-BOOL WineEngGetCharABCWidthsI(GdiFont font, UINT firstChar, UINT count, LPWORD pgi,
+BOOL WineEngGetCharABCWidthsI(GdiFont *font, UINT firstChar, UINT count, LPWORD pgi,
 			      LPABC buffer)
 {
     UINT c;
     GLYPHMETRICS gm;
     FT_UInt glyph_index;
-    GdiFont linked_font;
+    GdiFont *linked_font;
 
     if(!FT_IS_SCALABLE(font->ft_face))
         return FALSE;
@@ -3867,7 +3867,7 @@ BOOL WineEngGetCharABCWidthsI(GdiFont fo
  * WineEngGetTextExtentExPoint
  *
  */
-BOOL WineEngGetTextExtentExPoint(GdiFont font, LPCWSTR wstr, INT count,
+BOOL WineEngGetTextExtentExPoint(GdiFont *font, LPCWSTR wstr, INT count,
                                  INT max_ext, LPINT pnfit, LPINT dxs, LPSIZE size)
 {
     INT idx;
@@ -3875,7 +3875,7 @@ BOOL WineEngGetTextExtentExPoint(GdiFont
     GLYPHMETRICS gm;
     TEXTMETRICW tm;
     FT_UInt glyph_index;
-    GdiFont linked_font;
+    GdiFont *linked_font;
 
     TRACE("%p, %s, %d, %d, %p\n", font, debugstr_wn(wstr, count), count,
 	  max_ext, size);
@@ -3908,7 +3908,7 @@ BOOL WineEngGetTextExtentExPoint(GdiFont
  * WineEngGetTextExtentPointI
  *
  */
-BOOL WineEngGetTextExtentPointI(GdiFont font, const WORD *indices, INT count,
+BOOL WineEngGetTextExtentPointI(GdiFont *font, const WORD *indices, INT count,
 				LPSIZE size)
 {
     INT idx;
@@ -3935,7 +3935,7 @@ BOOL WineEngGetTextExtentPointI(GdiFont 
  * WineEngGetFontData
  *
  */
-DWORD WineEngGetFontData(GdiFont font, DWORD table, DWORD offset, LPVOID buf,
+DWORD WineEngGetFontData(GdiFont *font, DWORD table, DWORD offset, LPVOID buf,
 			 DWORD cbData)
 {
     FT_Face ft_face = font->ft_face;
@@ -4013,7 +4013,7 @@ DWORD WineEngGetFontData(GdiFont font, D
  * WineEngGetTextFace
  *
  */
-INT WineEngGetTextFace(GdiFont font, INT count, LPWSTR str)
+INT WineEngGetTextFace(GdiFont *font, INT count, LPWSTR str)
 {
     if(str) {
         lstrcpynW(str, font->name, count);
@@ -4022,7 +4022,7 @@ INT WineEngGetTextFace(GdiFont font, INT
         return strlenW(font->name) + 1;
 }
 
-UINT WineEngGetTextCharsetInfo(GdiFont font, LPFONTSIGNATURE fs, DWORD flags)
+UINT WineEngGetTextCharsetInfo(GdiFont *font, LPFONTSIGNATURE fs, DWORD flags)
 {
     if (fs) memcpy(fs, &font->fs, sizeof(FONTSIGNATURE));
     return font->charset;
@@ -4030,7 +4030,7 @@ UINT WineEngGetTextCharsetInfo(GdiFont f
 
 BOOL WineEngGetLinkedHFont(DC *dc, WCHAR c, HFONT *new_hfont, UINT *glyph)
 {
-    GdiFont font = dc->gdiFont, linked_font;
+    GdiFont *font = dc->gdiFont, *linked_font;
     struct list *first_hfont;
     BOOL ret;
 
@@ -4149,7 +4149,7 @@ struct TT_kern_pair
     short  value;
 };
 
-static DWORD parse_format0_kern_subtable(GdiFont font,
+static DWORD parse_format0_kern_subtable(GdiFont *font,
                                          const struct TT_format0_kern_subtable *tt_f0_ks,
                                          const USHORT *glyph_to_char,
                                          KERNINGPAIR *kern_pair, DWORD cPairs)
@@ -4187,7 +4187,7 @@ static DWORD parse_format0_kern_subtable
     return nPairs;
 }
 
-DWORD WineEngGetKerningPairs(GdiFont font, DWORD cPairs, KERNINGPAIR *kern_pair)
+DWORD WineEngGetKerningPairs(GdiFont *font, DWORD cPairs, KERNINGPAIR *kern_pair)
 {
     DWORD length;
     void *buf;
@@ -4335,7 +4335,7 @@ BOOL WineEngInit(void)
 {
     return FALSE;
 }
-GdiFont WineEngCreateFontInstance(DC *dc, HFONT hfont)
+GdiFont *WineEngCreateFontInstance(DC *dc, HFONT hfont)
 {
     return NULL;
 }
@@ -4349,13 +4349,13 @@ DWORD WineEngEnumFonts(LPLOGFONTW plf, F
     return 1;
 }
 
-DWORD WineEngGetGlyphIndices(GdiFont font, LPCWSTR lpstr, INT count,
+DWORD WineEngGetGlyphIndices(GdiFont *font, LPCWSTR lpstr, INT count,
 				LPWORD pgi, DWORD flags)
 {
     return GDI_ERROR;
 }
 
-DWORD WineEngGetGlyphOutline(GdiFont font, UINT glyph, UINT format,
+DWORD WineEngGetGlyphOutline(GdiFont *font, UINT glyph, UINT format,
 			     LPGLYPHMETRICS lpgm, DWORD buflen, LPVOID buf,
 			     const MAT2* lpmat)
 {
@@ -4363,62 +4363,62 @@ DWORD WineEngGetGlyphOutline(GdiFont fon
     return GDI_ERROR;
 }
 
-BOOL WineEngGetTextMetrics(GdiFont font, LPTEXTMETRICW ptm)
+BOOL WineEngGetTextMetrics(GdiFont *font, LPTEXTMETRICW ptm)
 {
     ERR("called but we don't have FreeType\n");
     return FALSE;
 }
 
-UINT WineEngGetOutlineTextMetrics(GdiFont font, UINT cbSize,
+UINT WineEngGetOutlineTextMetrics(GdiFont *font, UINT cbSize,
 				  OUTLINETEXTMETRICW *potm)
 {
     ERR("called but we don't have FreeType\n");
     return 0;
 }
 
-BOOL WineEngGetCharWidth(GdiFont font, UINT firstChar, UINT lastChar,
+BOOL WineEngGetCharWidth(GdiFont *font, UINT firstChar, UINT lastChar,
 			 LPINT buffer)
 {
     ERR("called but we don't have FreeType\n");
     return FALSE;
 }
 
-BOOL WineEngGetCharABCWidths(GdiFont font, UINT firstChar, UINT lastChar,
+BOOL WineEngGetCharABCWidths(GdiFont *font, UINT firstChar, UINT lastChar,
 			     LPABC buffer)
 {
     ERR("called but we don't have FreeType\n");
     return FALSE;
 }
 
-BOOL WineEngGetCharABCWidthsI(GdiFont font, UINT firstChar, UINT count, LPWORD pgi,
+BOOL WineEngGetCharABCWidthsI(GdiFont *font, UINT firstChar, UINT count, LPWORD pgi,
 			      LPABC buffer)
 {
     ERR("called but we don't have FreeType\n");
     return FALSE;
 }
 
-BOOL WineEngGetTextExtentExPoint(GdiFont font, LPCWSTR wstr, INT count,
+BOOL WineEngGetTextExtentExPoint(GdiFont *font, LPCWSTR wstr, INT count,
                                  INT max_ext, LPINT nfit, LPINT dx, LPSIZE size)
 {
     ERR("called but we don't have FreeType\n");
     return FALSE;
 }
 
-BOOL WineEngGetTextExtentPointI(GdiFont font, const WORD *indices, INT count,
+BOOL WineEngGetTextExtentPointI(GdiFont *font, const WORD *indices, INT count,
 				LPSIZE size)
 {
     ERR("called but we don't have FreeType\n");
     return FALSE;
 }
 
-DWORD WineEngGetFontData(GdiFont font, DWORD table, DWORD offset, LPVOID buf,
+DWORD WineEngGetFontData(GdiFont *font, DWORD table, DWORD offset, LPVOID buf,
 			 DWORD cbData)
 {
     ERR("called but we don't have FreeType\n");
     return GDI_ERROR;
 }
 
-INT WineEngGetTextFace(GdiFont font, INT count, LPWSTR str)
+INT WineEngGetTextFace(GdiFont *font, INT count, LPWSTR str)
 {
     ERR("called but we don't have FreeType\n");
     return 0;
@@ -4436,7 +4436,7 @@ INT WineEngRemoveFontResourceEx(LPCWSTR 
     return TRUE;
 }
 
-UINT WineEngGetTextCharsetInfo(GdiFont font, LPFONTSIGNATURE fs, DWORD flags)
+UINT WineEngGetTextCharsetInfo(GdiFont *font, LPFONTSIGNATURE fs, DWORD flags)
 {
     FIXME(":stub\n");
     return DEFAULT_CHARSET;
@@ -4463,7 +4463,7 @@ BOOL WINAPI GetRasterizerCaps( LPRASTERI
     return TRUE;
 }
 
-DWORD WineEngGetKerningPairs(GdiFont font, DWORD cPairs, KERNINGPAIR *kern_pair)
+DWORD WineEngGetKerningPairs(GdiFont *font, DWORD cPairs, KERNINGPAIR *kern_pair)
 {
     ERR("called but we don't have FreeType\n");
     return 0;
diff -up cvs/hq/wine/dlls/gdi/gdi_private.h wine/dlls/gdi/gdi_private.h
--- cvs/hq/wine/dlls/gdi/gdi_private.h	2006-09-27 16:06:30.000000000 +0900
+++ wine/dlls/gdi/gdi_private.h	2006-09-28 14:39:16.000000000 +0900
@@ -205,7 +205,7 @@ typedef struct tagGdiPath
    BOOL       newStroke;
 } GdiPath;
 
-typedef struct tagGdiFont *GdiFont;
+typedef struct tagGdiFont GdiFont;
 
 struct saved_visrgn
 {
@@ -248,7 +248,7 @@ typedef struct tagDC
     HANDLE        hDevice;
     HPALETTE      hPalette;
 
-    GdiFont       gdiFont;
+    GdiFont      *gdiFont;
     GdiPath       path;
 
     WORD          ROPmode;
@@ -362,28 +362,28 @@ extern HENHMETAFILE EMF_Create_HENHMETAF
 
 /* freetype.c */
 extern INT WineEngAddFontResourceEx(LPCWSTR, DWORD, PVOID);
-extern GdiFont WineEngCreateFontInstance(DC*, HFONT);
+extern GdiFont* WineEngCreateFontInstance(DC*, HFONT);
 extern BOOL WineEngDestroyFontInstance(HFONT handle);
 extern DWORD WineEngEnumFonts(LPLOGFONTW, FONTENUMPROCW, LPARAM);
-extern BOOL WineEngGetCharABCWidths(GdiFont font, UINT firstChar,
+extern BOOL WineEngGetCharABCWidths(GdiFont *font, UINT firstChar,
                                     UINT lastChar, LPABC buffer);
-extern BOOL WineEngGetCharABCWidthsI(GdiFont font, UINT firstChar,
+extern BOOL WineEngGetCharABCWidthsI(GdiFont *font, UINT firstChar,
                                     UINT count, LPWORD pgi, LPABC buffer);
-extern BOOL WineEngGetCharWidth(GdiFont, UINT, UINT, LPINT);
-extern DWORD WineEngGetFontData(GdiFont, DWORD, DWORD, LPVOID, DWORD);
-extern DWORD WineEngGetGlyphIndices(GdiFont font, LPCWSTR lpstr, INT count,
+extern BOOL WineEngGetCharWidth(GdiFont*, UINT, UINT, LPINT);
+extern DWORD WineEngGetFontData(GdiFont*, DWORD, DWORD, LPVOID, DWORD);
+extern DWORD WineEngGetGlyphIndices(GdiFont *font, LPCWSTR lpstr, INT count,
                                     LPWORD pgi, DWORD flags);
-extern DWORD WineEngGetGlyphOutline(GdiFont, UINT glyph, UINT format,
+extern DWORD WineEngGetGlyphOutline(GdiFont*, UINT glyph, UINT format,
                                     LPGLYPHMETRICS, DWORD buflen, LPVOID buf,
                                     const MAT2*);
-extern DWORD WineEngGetKerningPairs(GdiFont, DWORD, KERNINGPAIR *);
+extern DWORD WineEngGetKerningPairs(GdiFont*, DWORD, KERNINGPAIR *);
 extern BOOL WineEngGetLinkedHFont(DC *dc, WCHAR c, HFONT *new_hfont, UINT *glyph);
-extern UINT WineEngGetOutlineTextMetrics(GdiFont, UINT, LPOUTLINETEXTMETRICW);
-extern UINT WineEngGetTextCharsetInfo(GdiFont font, LPFONTSIGNATURE fs, DWORD flags);
-extern BOOL WineEngGetTextExtentExPoint(GdiFont, LPCWSTR, INT, INT, LPINT, LPINT, LPSIZE);
-extern BOOL WineEngGetTextExtentPointI(GdiFont, const WORD *, INT, LPSIZE);
-extern INT  WineEngGetTextFace(GdiFont, INT, LPWSTR);
-extern BOOL WineEngGetTextMetrics(GdiFont, LPTEXTMETRICW);
+extern UINT WineEngGetOutlineTextMetrics(GdiFont*, UINT, LPOUTLINETEXTMETRICW);
+extern UINT WineEngGetTextCharsetInfo(GdiFont *font, LPFONTSIGNATURE fs, DWORD flags);
+extern BOOL WineEngGetTextExtentExPoint(GdiFont*, LPCWSTR, INT, INT, LPINT, LPINT, LPSIZE);
+extern BOOL WineEngGetTextExtentPointI(GdiFont*, const WORD *, INT, LPSIZE);
+extern INT  WineEngGetTextFace(GdiFont*, INT, LPWSTR);
+extern BOOL WineEngGetTextMetrics(GdiFont*, LPTEXTMETRICW);
 extern BOOL WineEngInit(void);
 extern BOOL WineEngRemoveFontResourceEx(LPCWSTR, DWORD, PVOID);
 





More information about the wine-patches mailing list