#else
wxString filter = docTemplate->GetFileFilter() ;
#endif
+ wxString defaultDir = docTemplate->GetDirectory();
+ if (defaultDir.IsEmpty())
+ defaultDir = wxPathOnly(GetFilename());
+
wxString tmp = wxFileSelector(_("Save As"),
- docTemplate->GetDirectory(),
+ defaultDir,
wxFileNameFromPath(GetFilename()),
docTemplate->GetDefaultExtension(),
filter,
return false;
char buf[4096];
- do
+ for ( ;; )
{
stream.Read(buf, WXSIZEOF(buf));
const size_t nRead = stream.LastRead();
- if ( !nRead || !file.Write(buf, nRead) )
+ if ( !nRead )
+ {
+ if ( stream.Eof() )
+ break;
+
+ return false;
+ }
+
+ if ( !file.Write(buf, nRead) )
return false;
}
- while ( !stream.Eof() );
return true;
}