]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/fontenum.cpp
missing event.Skip() added (it was impossible to use mouse without it...)
[wxWidgets.git] / src / msw / fontenum.cpp
index 33b5a192d8e318c04b0c0750d6268ee9a355d6b9..f91b00c91fb3861b8dec1cc8a7865dd814af07a0 100644 (file)
@@ -103,14 +103,23 @@ bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding)
             // no such encodings at all
             return FALSE;
         }
-
-        m_charset = info.charset;
-        m_facename = info.facename;
     }
+    m_charset = info.charset;
+    m_facename = info.facename;
 
     return TRUE;
 }
 
+#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
+#endif
+
 void wxFontEnumeratorHelper::DoEnumerate()
 {
     HDC hDC = ::GetDC(NULL);
@@ -120,11 +129,16 @@ void wxFontEnumeratorHelper::DoEnumerate()
     lf.lfCharSet = m_charset;
     wxStrncpy(lf.lfFaceName, m_facename, WXSIZEOF(lf.lfFaceName));
     lf.lfPitchAndFamily = 0;
-    ::EnumFontFamiliesEx(hDC, &lf, (FONTENUMPROC)wxFontEnumeratorProc,
+    ::EnumFontFamiliesEx(hDC, &lf, (wxFONTENUMPROC)wxFontEnumeratorProc,
                          (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);