]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/fontenum.cpp
1. added range checks in wxGridStringTable
[wxWidgets.git] / src / msw / fontenum.cpp
index 9b8405089a56c0cbd91ef051f812c461e8a0e55d..f91b00c91fb3861b8dec1cc8a7865dd814af07a0 100644 (file)
@@ -110,10 +110,14 @@ bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding)
     return TRUE;
 }
 
-#if defined(__GNUWIN32__) && !defined(__MINGW32__)
-#define wxFONTENUMPROC int(*)(ENUMLOGFONTEX *, NEWTEXTMETRICEX*, int, LPARAM)
+#if defined(__GNUWIN32__)
+    #if defined(__MINGW32__) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))
+        #define wxFONTENUMPROC int(*)(const LOGFONTA *, const TEXTMETRICA *, long unsigned int, LPARAM)
+    #else
+        #define wxFONTENUMPROC int(*)(ENUMLOGFONTEX *, NEWTEXTMETRICEX*, int, LPARAM)
+    #endif
 #else
-#define wxFONTENUMPROC FONTENUMPROC
+    #define wxFONTENUMPROC FONTENUMPROC
 #endif
 
 void wxFontEnumeratorHelper::DoEnumerate()
@@ -129,7 +133,12 @@ void wxFontEnumeratorHelper::DoEnumerate()
                          (LPARAM)this, 0 /* reserved */) ;
 #else // Win16
     ::EnumFonts(hDC, (LPTSTR)NULL, (FONTENUMPROC)wxFontEnumeratorProc,
-                (LPARAM) (void*) this) ;
+    #ifdef STRICT
+               (LPARAM)
+    #else
+               (LPSTR)
+    #endif
+               this);
 #endif // Win32/16
 
     ::ReleaseDC(NULL, hDC);