]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/socket.cpp
atsu for textctrl
[wxWidgets.git] / src / common / socket.cpp
index 7e82eb01c69ac32d0fcdc3016db9c3e1b1971258..203d79a063ee15f2f94fd29dfa31f47b820d7c9b 100644 (file)
@@ -39,7 +39,7 @@
 #include "wx/apptrait.h"
 
 #include "wx/sckaddr.h"
-#include "wx/datetime.h"
+#include "wx/stopwatch.h"
 
 // DLL options compatibility check:
 #include "wx/build.h"
@@ -680,7 +680,7 @@ bool wxSocketBase::_Wait(long seconds,
                          wxSocketEventFlags flags)
 {
   GSocketEventFlags result;
-  long timeout;
+  long timeout; // in ms
 
   // Set this to true to interrupt ongoing waits
   m_interrupt = false;
@@ -707,8 +707,7 @@ bool wxSocketBase::_Wait(long seconds,
   // Do this at least once (important if timeout == 0, when
   // we are just polling). Also, if just polling, do not yield.
 
-  wxDateTime current_time = wxDateTime::UNow();
-  unsigned int time_limit = (current_time.GetTicks() * 1000) + current_time.GetMillisecond() + timeout;
+  const wxMilliClock_t time_limit = wxGetLocalTimeMillis() + timeout;
   bool done = false;
   bool valid_result = false;
 
@@ -752,8 +751,7 @@ bool wxSocketBase::_Wait(long seconds,
     }
 
     // Wait more?
-    current_time = wxDateTime::UNow();
-    int time_left = time_limit - ((current_time.GetTicks() * 1000) + current_time.GetMillisecond());
+    long time_left = wxMilliClockToLong(time_limit - wxGetLocalTimeMillis());
     if ((!timeout) || (time_left <= 0) || (m_interrupt))
       done = true;
     else
@@ -1305,6 +1303,10 @@ bool wxSocketClient::DoConnect(wxSockAddress& addr_man, wxSockAddress* local, bo
       m_socket->SetLocal(la);
   }
 
+#if defined(__WXMSW__) || defined(__WXGTK__)
+  m_socket->SetInitialSocketBuffers(m_initialRecvBufferSize, m_initialSendBufferSize);
+#endif
+
   m_socket->SetPeer(addr_man.GetAddress());
   err = m_socket->Connect(GSOCK_STREAMED);