]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/filefn.cpp
fix for toolbar radio buttons event generation
[wxWidgets.git] / src / common / filefn.cpp
index 9d83a8dbac599be85a86b7c438649020b77730d2..ff0ae4cad9a973eddbe90060a3b599897b0c9d1e 100644 (file)
@@ -1086,11 +1086,15 @@ wxCopyFile (const wxString& file1, const wxString& file2, bool overwrite)
     // instead of our code if available
     //
     // NB: 3rd parameter is bFailIfExists i.e. the inverse of overwrite
     // instead of our code if available
     //
     // NB: 3rd parameter is bFailIfExists i.e. the inverse of overwrite
-    return ::CopyFile(file1, file2, !overwrite) != 0;
+    if ( !::CopyFile(file1, file2, !overwrite) )
+    {
+        wxLogSysError(_("Failed to copy the file '%s' to '%s'"),
+                      file1.c_str(), file2.c_str());
+
+        return FALSE;
+    }
 #elif defined(__WXPM__)
 #elif defined(__WXPM__)
-    if (::DosCopy(file2, file2, overwrite ? DCPY_EXISTING : 0) == 0)
-        return TRUE;
-    else
+    if ( ::DosCopy(file2, file2, overwrite ? DCPY_EXISTING : 0) != 0 )
         return FALSE;
 #else // !Win32
     wxStructStat fbuf;
         return FALSE;
 #else // !Win32
     wxStructStat fbuf;
@@ -1169,9 +1173,9 @@ wxCopyFile (const wxString& file1, const wxString& file2, bool overwrite)
         return FALSE;
     }
 #endif // OS/2 || Mac
         return FALSE;
     }
 #endif // OS/2 || Mac
+#endif // __WXMSW__ && __WIN32__
 
     return TRUE;
 
     return TRUE;
-#endif // __WXMSW__ && __WIN32__
 }
 
 bool
 }
 
 bool
@@ -1392,28 +1396,30 @@ wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
     // for the compilers which have Unicode version of _getcwd(), call it
     // directly, for the others call the ANSI version and do the translation
 #if !wxUSE_UNICODE
     // for the compilers which have Unicode version of _getcwd(), call it
     // directly, for the others call the ANSI version and do the translation
 #if !wxUSE_UNICODE
-       #define cbuf buf
+    #define cbuf buf
 #else // wxUSE_UNICODE
 #else // wxUSE_UNICODE
-       bool needsANSI = TRUE;
+    bool needsANSI = TRUE;
 
 
-       #if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
+    #if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
         wxCharBuffer c_buffer(sz);
         wxCharBuffer c_buffer(sz);
-               char *cbuf = (char*)(const char*)c_buffer;
-       #endif
+        char *cbuf = (char*)(const char*)c_buffer;
+    #endif
 
     #ifdef HAVE_WGETCWD
 
     #ifdef HAVE_WGETCWD
-               #if     wxUSE_UNICODE_MSLU
-                       if ( wxGetOsVersion() != wxWIN95 )
-               #endif
-                       {
-                               ok = _wgetcwd(buf, sz) != NULL;
-                               needsANSI = FALSE;
-                       }
+        #if wxUSE_UNICODE_MSLU
+            if ( wxGetOsVersion() != wxWIN95 )
+        #else
+            char *cbuf = NULL; // never really used because needsANSI will always be FALSE
+        #endif
+            {
+                ok = _wgetcwd(buf, sz) != NULL;
+                needsANSI = FALSE;
+            }
     #endif
 
     #endif
 
-       if ( needsANSI )
+    if ( needsANSI )
 #endif // wxUSE_UNICODE
 #endif // wxUSE_UNICODE
-       {
+    {
     #ifdef _MSC_VER
         ok = _getcwd(cbuf, sz) != NULL;
     #elif defined(__WXMAC__) && !defined(__DARWIN__)
     #ifdef _MSC_VER
         ok = _getcwd(cbuf, sz) != NULL;
     #elif defined(__WXMAC__) && !defined(__DARWIN__)
@@ -1452,7 +1458,12 @@ wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
     #else // !Win32/VC++ !Mac !OS2
         ok = getcwd(cbuf, sz) != NULL;
     #endif // platform
     #else // !Win32/VC++ !Mac !OS2
         ok = getcwd(cbuf, sz) != NULL;
     #endif // platform
-       }
+
+    #if wxUSE_UNICODE
+        // finally convert the result to Unicode if needed
+        wxConvFile.MB2WC(buf, cbuf, sz);
+    #endif // wxUSE_UNICODE
+    }
 
     if ( !ok )
     {
 
     if ( !ok )
     {
@@ -1481,17 +1492,12 @@ wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
         wxString pathUnix = buf;
         cygwin_conv_to_full_win32_path(pathUnix, buf);
 #endif // __CYGWIN__
         wxString pathUnix = buf;
         cygwin_conv_to_full_win32_path(pathUnix, buf);
 #endif // __CYGWIN__
-
-        // finally convert the result to Unicode if needed
-#if wxUSE_UNICODE
-        wxConvFile.MB2WC(buf, cbuf, sz);
-#endif // wxUSE_UNICODE
     }
 
     return buf;
 
 #if !wxUSE_UNICODE
     }
 
     return buf;
 
 #if !wxUSE_UNICODE
-       #undef cbuf
+    #undef cbuf
 #endif
 }
 
 #endif
 }