]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/utils.cpp
Corrected DoBlit code to use offset into mask
[wxWidgets.git] / src / msw / utils.cpp
index 3d64ac17052c8951bea4e8d03502424588781eab..2a9d0a99a4ed37c0c065ce1a9fa9aaa7eda030ea 100644 (file)
@@ -436,14 +436,29 @@ wxChar *wxGetUserHome(const wxString& user)
 bool wxDirExists(const wxString& dir)
 {
 #if defined(__WIN32__)
-    DWORD attribs = GetFileAttributes(dir);
-    return ((attribs != -1) && (attribs & FILE_ATTRIBUTE_DIRECTORY));
+    WIN32_FIND_DATA fileInfo;
 #else // Win16
     #ifdef __BORLANDC__
         struct ffblk fileInfo;
     #else
         struct find_t fileInfo;
     #endif
+#endif // Win32/16
+
+#if defined(__WIN32__)
+    HANDLE h = ::FindFirstFile(dir, &fileInfo);
+
+    if ( h == INVALID_HANDLE_VALUE )
+    {
+        wxLogLastError(wxT("FindFirstFile"));
+
+        return FALSE;
+    }
+
+    ::FindClose(h);
+
+    return (fileInfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0;
+#else // Win16
     // In Borland findfirst has a different argument
     // ordering from _dos_findfirst. But _dos_findfirst
     // _should_ be ok in both MS and Borland... why not?
@@ -573,7 +588,7 @@ wxString wxGetOsDescription()
 
             case VER_PLATFORM_WIN32_WINDOWS:
                 str.Printf(_("Windows 9%c"),
-                           info.dwMinorVersion == 0 ? _T('5') : _T('9'));
+                           info.dwMinorVersion == 0 ? _T('5') : _T('8'));
                 if ( !wxIsEmpty(info.szCSDVersion) )
                 {
                     str << _T(" (") << info.szCSDVersion << _T(')');