]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sckaddr.cpp
some wxArtProv docs
[wxWidgets.git] / src / common / sckaddr.cpp
index 4fd8ce90ed68eafbef0ce493172d39f036c9da92..1cfa463c864d003b59bb953329dde1ea8083500c 100644 (file)
 
 #if wxUSE_SOCKETS
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
+#ifndef WX_PRECOMP
+    #include "wx/defs.h"
+    #include "wx/object.h"
+    #include "wx/log.h"
+    #include "wx/intl.h"
 
-#if !defined(__MWERKS__) && !defined(__SALFORDC__)
-#include <memory.h>
-#endif
+    #include <stdio.h>
+    #include <stdlib.h>
+    #include <ctype.h>
+
+    #if !defined(__MWERKS__) && !defined(__SALFORDC__)
+        #include <memory.h>
+    #endif
+#endif // !WX_PRECOMP
 
-#include "wx/defs.h"
-#include "wx/object.h"
-#include "wx/log.h"
-#include "wx/intl.h"
 #include "wx/gsocket.h"
+#include "wx/socket.h"
 #include "wx/sckaddr.h"
 
 IMPLEMENT_ABSTRACT_CLASS(wxSockAddress, wxObject)
@@ -50,13 +54,26 @@ IMPLEMENT_DYNAMIC_CLASS(wxUNIXaddress, wxSockAddress)
 // wxIPV4address
 // ---------------------------------------------------------------------------
 
+void wxSockAddress::Init()
+{
+    if ( !wxSocketBase::IsInitialized() )
+    {
+        // we must do it before using GAddress_XXX functions
+        (void)wxSocketBase::Initialize();
+    }
+}
+
 wxSockAddress::wxSockAddress()
 {
-  m_address = GAddress_new();
+    Init();
+
+    m_address = GAddress_new();
 }
 
 wxSockAddress::wxSockAddress(const wxSockAddress& other)
 {
+    Init();
+
     m_address = GAddress_copy(other.m_address);
 }