]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't attempt to convert non-ascii strings to filenames
authorRobert Roebling <robert@roebling.de>
Fri, 23 Jan 2009 22:18:29 +0000 (22:18 +0000)
committerRobert Roebling <robert@roebling.de>
Fri, 23 Jan 2009 22:18:29 +0000 (22:18 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/html/helpdata.cpp

index 96f4e23cabf6d8a41d8fc9162a3ad073dbfc0797..83aaac88819a70a9558c89d85013c3b5989e7580 100644 (file)
@@ -701,15 +701,29 @@ bool wxHtmlHelpData::AddBook(const wxString& book)
 
 wxString wxHtmlHelpData::FindPageByName(const wxString& x)
 {
-    int cnt;
     int i;
-    wxFileSystem fsys;
-    wxFSFile *f;
 
-    // 1. try to open given file:
-    cnt = m_bookRecords.GetCount();
-    for (i = 0; i < cnt; i++)
+    bool has_non_ascii = false;
+    wxString::const_iterator it;
+    for (it = x.begin(); it != x.end(); ++it)
+    {
+        wxUniChar ch = *it;
+        if (!ch.IsAscii())
+        {
+            has_non_ascii = true;
+            break;
+        }
+    }
+    
+    int cnt = m_bookRecords.GetCount();
+    
+    if (!has_non_ascii)
     {
+      wxFileSystem fsys;
+      wxFSFile *f;
+      // 1. try to open given file:
+      for (i = 0; i < cnt; i++)
+      {
         f = fsys.OpenFile(m_bookRecords[i].GetFullPath(x));
         if (f)
         {
@@ -717,6 +731,7 @@ wxString wxHtmlHelpData::FindPageByName(const wxString& x)
             delete f;
             return url;
         }
+      }
     }