X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f2506310426546479e9e30a9639f0a8bbf879eb5..281b0186b81a35b3eff658635b083b04a3cfa23c:/src/common/docview.cpp?ds=sidebyside diff --git a/src/common/docview.cpp b/src/common/docview.cpp index bcd9d3de2f..538bb871f4 100644 --- a/src/common/docview.cpp +++ b/src/common/docview.cpp @@ -806,7 +806,10 @@ void wxDocManager::OnFileNew(wxCommandEvent& WXUNUSED(event)) void wxDocManager::OnFileOpen(wxCommandEvent& WXUNUSED(event)) { - CreateDocument(wxString(""), 0); + if ( !CreateDocument(wxString(""), 0) ) + { + OnOpenFileFailure(); + } } void wxDocManager::OnFileRevert(wxCommandEvent& WXUNUSED(event)) @@ -1342,9 +1345,6 @@ wxDocTemplate *wxDocManager::SelectDocumentPath(wxDocTemplate **templates, m_lastDirectory = wxPathOnly(pathTmp); path = pathTmp; - wxString theExt = FindExtension(path); - if (!theExt) - return (wxDocTemplate *) NULL; // This is dodgy in that we're selecting the template on the // basis of the file extension, which may not be a standard @@ -2194,6 +2194,42 @@ bool wxTransferStreamToFile(istream& stream, const wxString& filename) fclose (fd1); return TRUE; } +#else +bool wxTransferFileToStream(const wxString& filename, wxOutputStream& stream) +{ + FILE *fd1; + int ch; + + if ((fd1 = fopen (filename.fn_str(), "rb")) == NULL) + return FALSE; + + while ((ch = getc (fd1)) != EOF) + stream.PutC((char) ch); + + fclose (fd1); + return TRUE; +} + +bool wxTransferStreamToFile(wxInputStream& stream, const wxString& filename) +{ + FILE *fd1; + char ch; + + if ((fd1 = fopen (filename.fn_str(), "wb")) == NULL) + { + return FALSE; + } + + int len = stream.StreamSize(); + // TODO: is this the correct test for EOF? + while (stream.TellI() < (len - 1)) + { + ch = stream.GetC(); + putc (ch, fd1); + } + fclose (fd1); + return TRUE; +} #endif #endif // wxUSE_DOC_VIEW_ARCHITECTURE