]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/private/sckaddr.h
Fix setting the fonts for wxMSW wxTextCtrl with wxTE_RICH(2) style.
[wxWidgets.git] / include / wx / private / sckaddr.h
index eafa8fdccb0d652d0b8841f091649a989408de49..a0e0ec4ee1f05901ee2b350e1562376f6e4fce96 100644 (file)
 
 #ifdef __WXMSW__
     #include "wx/msw/wrapwin.h"
+
+    #if wxUSE_IPV6
+        #include <ws2tcpip.h>
+    #endif
 #elif defined(__VMS__)
     #include <socket.h>
 
@@ -22,6 +26,7 @@
         u_char  sun_family;     /* AF_UNIX */
         char    sun_path[108];  /* path name (gag) */
     };
+    #include <in.h>
 #else // generic Unix
     #include <sys/types.h>
     #include <sys/socket.h>
@@ -132,10 +137,11 @@ public:
 
     wxSockAddressImpl& operator=(const wxSockAddressImpl& other)
     {
-        free(m_addr);
-
-        InitFromOther(other);
-
+        if (this != &other)
+        {
+            free(m_addr);
+            InitFromOther(other);
+        }
         return *this;
     }
 
@@ -161,6 +167,30 @@ public:
 #ifdef wxHAS_UNIX_DOMAIN_SOCKETS
     void CreateUnix();
 #endif // wxHAS_UNIX_DOMAIN_SOCKETS
+    void Create(Family family)
+    {
+        switch ( family )
+        {
+            case FAMILY_INET:
+                CreateINET();
+                break;
+
+#if wxUSE_IPV6
+            case FAMILY_INET6:
+                CreateINET6();
+                break;
+#endif // wxUSE_IPV6
+
+#ifdef wxHAS_UNIX_DOMAIN_SOCKETS
+            case FAMILY_UNIX:
+                CreateUnix();
+                break;
+#endif // wxHAS_UNIX_DOMAIN_SOCKETS
+
+            default:
+                wxFAIL_MSG( "unsupported socket address family" );
+        }
+    }
 
     // simple accessors
     Family GetFamily() const { return m_family; }