+
+#if wxUSE_MIMETYPE
+    static bool s_MinimalMimeEnsured = false;
+    if (!s_MinimalMimeEnsured)
+    {
+        static const wxFileTypeInfo fallbacks[] =
+        {
+            wxFileTypeInfo(_T("image/jpeg"),
+                           wxEmptyString,
+                           wxEmptyString,
+                           _T("JPEG image (from fallback)"),
+                           _T("jpg"), _T("jpeg"), _T("JPG"), _T("JPEG"), NULL),
+            wxFileTypeInfo(_T("image/gif"),
+                           wxEmptyString,
+                           wxEmptyString,
+                           _T("GIF image (from fallback)"),
+                           _T("gif"), _T("GIF"), NULL),
+            wxFileTypeInfo(_T("image/png"),
+                           wxEmptyString,
+                           wxEmptyString,
+                           _T("PNG image (from fallback)"),
+                           _T("png"), _T("PNG"), NULL),
+            wxFileTypeInfo(_T("image/bmp"),
+                           wxEmptyString,
+                           wxEmptyString,
+                           _T("windows bitmap image (from fallback)"),
+                           _T("bmp"), _T("BMP"), NULL),
+            wxFileTypeInfo(_T("text/html"),
+                           wxEmptyString,
+                           wxEmptyString,
+                           _T("HTML document (from fallback)"),
+                           _T("htm"), _T("html"), _T("HTM"), _T("HTML"), NULL),
+            // must terminate the table with this!
+            wxFileTypeInfo()
+        };
+        wxTheMimeTypesManager->AddFallbacks(fallbacks);
+        s_MinimalMimeEnsured = true;
+    }
+
+    wxFileType *ft = wxTheMimeTypesManager->GetFileTypeFromExtension(ext);
+    if ( !ft || !ft -> GetMimeType(&mime) )
+    {
+        mime = wxEmptyString;
+    }
+
+    delete ft;
+
+    return mime;
+#else
+    if ( ext.IsSameAs(wxT("htm"), false) || ext.IsSameAs(_T("html"), false) )
+        return wxT("text/html");
+    if ( ext.IsSameAs(wxT("jpg"), false) || ext.IsSameAs(_T("jpeg"), false) )
+        return wxT("image/jpeg");
+    if ( ext.IsSameAs(wxT("gif"), false) )
+        return wxT("image/gif");
+    if ( ext.IsSameAs(wxT("png"), false) )
+        return wxT("image/png");
+    if ( ext.IsSameAs(wxT("bmp"), false) )
+        return wxT("image/bmp");
+    return wxEmptyString;
+#endif