- if (c == _T('#')) l2 = i + 1;
- if (c == _T('.')) {ext = loc.Right(l2-i-1); break;}
- if ((c == _T('/')) || (c == _T('\\')) || (c == _T(':'))) {return wxEmptyString;}
+ if (c == wxT('#')) l2 = i + 1;
+ if (c == wxT('.')) {ext = loc.Right(l2-i-1); break;}
+ if ((c == wxT('/')) || (c == wxT('\\')) || (c == wxT(':'))) {return wxEmptyString;}
+ }
+
+ static bool s_MinimalMimeEnsured = FALSE;
+ if (!s_MinimalMimeEnsured) {
+ static const wxFileTypeInfo fallbacks[] =
+ {
+ wxFileTypeInfo("image/jpeg",
+ "",
+ "",
+ "JPEG image (from fallback)",
+ "jpg", "jpeg", NULL),
+ wxFileTypeInfo("image/gif",
+ "",
+ "",
+ "GIF image (from fallback)",
+ "gif", NULL),
+ wxFileTypeInfo("image/png",
+ "",
+ "",
+ "PNG image (from fallback)",
+ "png", NULL),
+ wxFileTypeInfo("image/bmp",
+ "",
+ "",
+ "windows bitmap image (from fallback)",
+ "bmp", NULL),
+ wxFileTypeInfo("text/html",
+ "",
+ "",
+ "HTML document (from fallback)",
+ "htm", "html", NULL),
+
+ // must terminate the table with this!
+ wxFileTypeInfo()
+ };
+
+ wxTheMimeTypesManager -> AddFallbacks(fallbacks);
+ }
+
+ ft = wxTheMimeTypesManager -> GetFileTypeFromExtension(ext);
+ if (ft && (ft -> GetMimeType(&mime))) {
+ delete ft;
+ return mime;
+ }
+ else {
+ delete ft;
+ return wxEmptyString;