]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/gsocket.c
extending calculation of visible region
[wxWidgets.git] / src / unix / gsocket.c
index 396a93641dac7a85b999f239d6b0043c74e4be55..16eae12743e6e4810bb1337bb8b35adefd85bd7c 100644 (file)
@@ -261,7 +261,10 @@ GSocket *GSocket_new(void)
 void GSocket_close(GSocket *socket)
 {
     _GSocket_Disable_Events(socket);
 void GSocket_close(GSocket *socket)
 {
     _GSocket_Disable_Events(socket);
+    /* gsockosx.c calls CFSocketInvalidate which closes the socket for us */
+#if !(defined(__DARWIN__) && (defined(__WXMAC__) || defined(__WXCOCOA__)))
     close(socket->m_fd);
     close(socket->m_fd);
+#endif
     socket->m_fd = INVALID_SOCKET;
 }
 
     socket->m_fd = INVALID_SOCKET;
 }
 
@@ -269,20 +272,12 @@ void GSocket_destroy(GSocket *socket)
 {
   assert(socket != NULL);
 
 {
   assert(socket != NULL);
 
-  /* When using CFSocket we MUST invalidate before closing the fd */
-#ifdef __DARWIN__
-  /* Per-socket GUI-specific cleanup */
-  _GSocket_GUI_Destroy_Socket(socket);
-#endif
-
   /* Check that the socket is really shutdowned */
   if (socket->m_fd != INVALID_SOCKET)
     GSocket_Shutdown(socket);
 
   /* Check that the socket is really shutdowned */
   if (socket->m_fd != INVALID_SOCKET)
     GSocket_Shutdown(socket);
 
-#ifndef __DARWIN__
   /* Per-socket GUI-specific cleanup */
   _GSocket_GUI_Destroy_Socket(socket);
   /* Per-socket GUI-specific cleanup */
   _GSocket_GUI_Destroy_Socket(socket);
-#endif
 
   /* Destroy private addresses */
   if (socket->m_local)
 
   /* Destroy private addresses */
   if (socket->m_local)
@@ -1621,8 +1616,10 @@ GSocketError GAddress_INET_SetHostName(GAddress *address, const char *hostname)
   {
 #else
   /* Use gethostbyname by default */
   {
 #else
   /* Use gethostbyname by default */
-  int val = 1;  //VA doesn't like constants in conditional expressions at all
+#ifndef __WXMAC__
+  int val = 1;  /* VA doesn't like constants in conditional expressions */
   if (val)
   if (val)
+#endif
   {
 #endif
     struct in_addr *array_addr;
   {
 #endif
     struct in_addr *array_addr;