]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sckipc.cpp
adapting to init pattern
[wxWidgets.git] / src / common / sckipc.cpp
index 8348ec749fb0ef2e45dcc7e2e8d4f96027bf9b30..31d1273191f156a93b798a7377817b21798f79e4 100644 (file)
@@ -92,7 +92,7 @@ GetAddressFromName(const wxString& serverName,
 #if defined(__UNIX__) && !defined(__WINDOWS__) && !defined(__WINE__)
     // under Unix, if the server name looks like a path, create a AF_UNIX
     // socket instead of AF_INET one
-    if ( serverName.Find(_T('/')) != wxNOT_FOUND )
+    if ( serverName.Find(wxT('/')) != wxNOT_FOUND )
     {
         wxUNIXaddress *addr = new wxUNIXaddress;
         addr->Filename(serverName);
@@ -498,7 +498,7 @@ bool wxTCPServer::Create(const wxString& serverName)
 
     delete addr;
 
-    if (!m_server->Ok())
+    if (!m_server->IsOk())
     {
         m_server->Destroy();
         m_server = NULL;
@@ -528,7 +528,7 @@ wxTCPServer::~wxTCPServer()
     {
         if ( remove(m_filename.fn_str()) != 0 )
         {
-            wxLogDebug(_T("Stale AF_UNIX file '%s' left."), m_filename.c_str());
+            wxLogDebug(wxT("Stale AF_UNIX file '%s' left."), m_filename.c_str());
         }
     }
 #endif // __UNIX_LIKE__
@@ -695,6 +695,11 @@ void wxTCPEventHandler::HandleDisconnect(wxTCPConnection *connection)
     connection->m_sock->Notify(false);
     connection->m_sock->Close();
 
+    // don't leave references to this soon-to-be-dangling connection in the
+    // socket as it won't be destroyed immediately as its destruction will be
+    // delayed in case there are more events pending for it
+    connection->m_sock->SetClientData(NULL);
+
     connection->SetConnected(false);
     connection->OnDisconnect();
 }
@@ -872,7 +877,7 @@ void wxTCPEventHandler::Server_OnRequest(wxSocketEvent &event)
     wxSocketBase *sock = server->Accept();
     if (!sock)
         return;
-    if (!sock->Ok())
+    if (!sock->IsOk())
     {
         sock->Destroy();
         return;