]> git.saurik.com Git - wxWidgets.git/commitdiff
always remember to test IsOk() after using wxFileInputStream
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Thu, 8 Jan 2009 18:26:35 +0000 (18:26 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Thu, 8 Jan 2009 18:26:35 +0000 (18:26 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

interface/wx/wfstream.h
src/common/docview.cpp
src/generic/animateg.cpp
src/gtk/animate.cpp
src/html/chm.cpp
src/x11/bitmap.cpp
src/xrc/xmlres.cpp

index 596152b5fe003e8a8570b09987b04deba508f78a..d5c03564e4e20ee7da059088d4bc71506139ad54 100644 (file)
@@ -23,6 +23,8 @@ class wxTempFileOutputStream : public wxOutputStream
 public:
     /**
         Associates wxTempFileOutputStream with the file to be replaced and opens it.
+
+        @warning
         You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
 
         Call Commit() or wxOutputStream::Close() to replace the old file and close
@@ -69,7 +71,10 @@ class wxFFileOutputStream : public wxOutputStream
 {
 public:
     /**
-        Initializes a file stream in write-only mode using the file descriptor @e fp.
+        Open the given file @a filename with mode @a mode.
+
+        @warning
+        You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFFileOutputStream(const wxString& filename,
                         const wxString& mode = "wb");
@@ -116,7 +121,10 @@ class wxFileOutputStream : public wxOutputStream
 {
 public:
     /**
-        Creates a new file with ofilename name and initializes the stream in write-only mode.
+        Creates a new file with @a ofileName name and initializes the stream in write-only mode.
+        
+        @warning
+        You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFileOutputStream(const wxString& ofileName);
 
@@ -162,7 +170,10 @@ class wxFileInputStream : public wxInputStream
 {
 public:
     /**
-        Opens the specified file using its ifilename name in read-only mode.
+        Opens the specified file using its @a ifileName name in read-only mode.
+        
+        @warning
+        You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFileInputStream(const wxString& ifileName);
 
@@ -208,7 +219,10 @@ class wxFFileInputStream : public wxInputStream
 {
 public:
     /**
-        Opens the specified file using its filename name using the specified mode.
+        Opens the specified file using its @a filename name using the specified @a mode.
+
+        @warning
+        You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFFileInputStream(const wxString& filename,
                        const wxString& mode = "rb");
@@ -250,8 +264,11 @@ class wxFFileStream : public wxFFileOutputStream
 {
 public:
     /**
-        Initializes a new file stream in read-write mode using the specified
-        @a iofilename name.
+        Initializes a new file stream in the given @a mode using the specified
+        @a iofileName name.
+        
+        @warning
+        You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFFileStream(const wxString& iofileName, const wxString& mode = "w+b");
 };
@@ -273,7 +290,10 @@ class wxFileStream : public wxFileOutputStream
 public:
     /**
         Initializes a new file stream in read-write mode using the specified
-        @a iofilename name.
+        @a iofileName name.
+        
+        @warning
+        You should use wxStreamBase::IsOk() to verify if the constructor succeeded.
     */
     wxFileStream(const wxString& iofileName);
 };
index 11f9b7b6737d9844605f29dcff5a7a4ac1d777fe..5de605d0100288b307f15d4cb2aa0116cc0f316b 100644 (file)
@@ -609,7 +609,7 @@ bool wxDocument::DoOpenDocument(const wxString& file)
     if ( !store )
 #else
     wxFileInputStream store(file);
-    if (store.GetLastError() != wxSTREAM_NO_ERROR)
+    if (store.GetLastError() != wxSTREAM_NO_ERROR || !store.IsOk())
 #endif
     {
         wxLogError(_("File \"%s\" could not be opened for reading."), file);
index 08155032960214d2ac947a2428ae57a29c054978..fe6ee204da04cf05e501fae14d60e3ce07b5ce4a 100644 (file)
@@ -138,7 +138,6 @@ bool wxAnimation::Load(wxInputStream &stream, wxAnimationType type)
                 m_refData = handler->Clone();
                 return M_ANIMDATA->Load(stream);
             }
-
         }
 
         wxLogWarning( _("No handler found for animation type.") );
@@ -309,6 +308,8 @@ wxAnimationCtrl::~wxAnimationCtrl()
 bool wxAnimationCtrl::LoadFile(const wxString& filename, wxAnimationType type)
 {
     wxFileInputStream fis(filename);
+    if (!fis.Ok())
+        return false;
     return Load(fis, type);
 }
 
index c6f7abe951466dd3e15bf5bf4609750ee604b3f7..8cf11f0e999f2976add54e7d3581a5894c48ab35 100644 (file)
@@ -238,6 +238,8 @@ wxAnimationCtrl::~wxAnimationCtrl()
 bool wxAnimationCtrl::LoadFile(const wxString &filename, wxAnimationType type)
 {
     wxFileInputStream fis(filename);
+    if (!fis.IsOk())
+        return false;
     return Load(fis, type);
 }
 
index 288305d60600e73ce2120ebdee455f30f106804d..5e14bcd55da6b747dc573481611b308bcb744823 100644 (file)
@@ -717,6 +717,9 @@ bool wxChmInputStream::CreateFileStream(const wxString& pattern)
     {
         // Open a filestream to extracted file
         fin = new wxFileInputStream(tmpfile);
+        if (!fin->IsOk())
+            return false;
+
         m_size = fin->GetSize();
         m_content = (char *) malloc(m_size+1);
         fin->Read(m_content, m_size);
index ec233b0c9314283795696f520a659b37d066bffb..ea19aee7a35fba3f25fe80d08fb2557728b2eebb 100644 (file)
@@ -1386,10 +1386,10 @@ bool wxXPMFileHandler::LoadFile(wxBitmap *bitmap, const wxString& name,
 #elif wxUSE_STREAMS
     wxXPMDecoder decoder;
     wxFileInputStream stream(name);
-    if (stream.Ok())
+    if (stream.IsOk())
     {
         wxImage image(decoder.ReadFile(stream));
-        return image.Ok() && bitmap->CreateFromImage(image);
+        return image.IsOk() && bitmap->CreateFromImage(image);
     }
 
     return false;
index fc16e6ec42b115c1fd5c40a33f2afd40ef38b748..ae88b743580192e411cc0809113f8511ecb8ae79 100644 (file)
@@ -497,7 +497,7 @@ bool wxXmlResource::UpdateResources()
                 delete rec->Doc;
                 rec->Doc = new wxXmlDocument;
             }
-            if (!stream || !rec->Doc->Load(*stream, encoding))
+            if (!stream || !stream->IsOk() || !rec->Doc->Load(*stream, encoding))
             {
                 wxLogError(_("Cannot load resources from file '%s'."),
                            rec->File);