Forráskód Böngészése

Fixed #1562. Directory switch bug in Platform::displayFileDialog for Windows

seanpaultaylor 11 éve
szülő
commit
7b906fb0a9
1 módosított fájl, 5 hozzáadás és 6 törlés
  1. 5 6
      gameplay/src/PlatformWindows.cpp

+ 5 - 6
gameplay/src/PlatformWindows.cpp

@@ -1368,17 +1368,17 @@ bool Platform::launchURL(const char* url)
 
 
 std::string Platform::displayFileDialog(size_t mode, const char* title, const char* filterDescription, const char* filterExtensions, const char* initialDirectory)
 std::string Platform::displayFileDialog(size_t mode, const char* title, const char* filterDescription, const char* filterExtensions, const char* initialDirectory)
 {
 {
+    char currentDir[512];
+    GetCurrentDirectoryA(512, currentDir);
+
     std::string filename;
     std::string filename;
     OPENFILENAMEA ofn;
     OPENFILENAMEA ofn;
     memset(&ofn, 0, sizeof(ofn));
     memset(&ofn, 0, sizeof(ofn));
 
 
     // Set initial directory
     // Set initial directory
     std::string initialDirectoryStr;
     std::string initialDirectoryStr;
-    char currentDir[256];
     if (initialDirectory == NULL)
     if (initialDirectory == NULL)
     {
     {
-        char currentDir[512];
-        GetCurrentDirectoryA(512, currentDir);
         initialDirectoryStr = currentDir;
         initialDirectoryStr = currentDir;
     }
     }
     else
     else
@@ -1429,10 +1429,9 @@ std::string Platform::displayFileDialog(size_t mode, const char* title, const ch
         GetSaveFileNameA(&ofn);
         GetSaveFileNameA(&ofn);
     }
     }
 
 
-    filename = szFileName;
+    filename = szFileName;            
         
         
-    if (initialDirectory == NULL)
-        SetCurrentDirectoryA(currentDir);
+    SetCurrentDirectoryA(currentDir);
 
 
     return filename;
     return filename;
 }
 }