]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/ftp.cpp
synced intl.cpp and intl.h
[wxWidgets.git] / src / common / ftp.cpp
index d17efc09b1c0e543b620afd38f4e1c28b93fb27c..6ff5d5a9418f461742cd2ee77ac036c33400097b 100644 (file)
@@ -469,15 +469,23 @@ bool wxFTP::RmFile(const wxString& path)
 class wxInputFTPStream : public wxSocketInputStream
 {
 public:
-    wxInputFTPStream(wxFTP *ftp_clt, wxSocketBase *sock)
-        : wxSocketInputStream(*sock), m_ftp(ftp_clt)
+    wxInputFTPStream(wxFTP *ftp, wxSocketBase *sock)
+        : wxSocketInputStream(*sock)
     {
+        m_ftp = ftp;
+
+        // FIXME make the timeout configurable
+
+        // set a shorter than default timeout
+        m_i_socket->SetTimeout(60); // 1 minute
     }
 
     size_t GetSize() const { return m_ftpsize; }
 
     virtual ~wxInputFTPStream()
     {
+        delete m_i_socket;
+
         if ( LastError() == wxStream_NOERROR )
         {
             // wait for "226 transfer completed"
@@ -489,8 +497,6 @@ public:
         {
             m_ftp->Abort();
         }
-
-        delete m_i_socket;
     }
 
     wxFTP *m_ftp;