#include "wx/stopwatch.h"
#include "wx/thread.h"
#include "wx/evtloop.h"
+#include "wx/link.h"
#include "wx/private/fd.h"
#include "wx/private/socket.h"
{
// this Initialize() will be undone by wxSocketModule::OnExit(), all
// the other calls to it should be matched by a call to Shutdown()
- Initialize();
+ if (!Initialize())
+ wxLogError("Cannot initialize wxSocketBase");
}
}
IMPLEMENT_DYNAMIC_CLASS(wxSocketModule, wxModule)
+// NOTE: we need to force linking against socketiohandler.cpp otherwise in
+// static builds of wxWidgets the ManagerSetter::ManagerSetter ctor
+// contained there wouldn't be ever called
+wxFORCE_LINK_MODULE( socketiohandler )
+
#endif // wxUSE_SOCKETS
#include "wx/apptrait.h"
#include "wx/private/socket.h"
+#include "wx/link.h"
// ============================================================================
// implementation
}
} gs_managerSetter;
+
+// see the relative linker macro in socket.cpp
+wxFORCE_LINK_THIS_MODULE( socketiohandler );
+
#endif // wxUSE_SOCKETS
void wxSocketImplUnix::DoEnableEvents(int flags, bool enable)
{
wxSocketManager * const manager = wxSocketManager::Get();
+ if (!manager)
+ return;
+
if ( enable )
{
if ( flags & wxSOCKET_INPUT_FLAG )