ensure correct linking of the socket manager initializer for static builds of wxWidgets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -42,6 +42,7 @@
|
||||
#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"
|
||||
@@ -769,7 +770,8 @@ void wxSocketBase::Init()
|
||||
{
|
||||
// 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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1988,4 +1990,9 @@ private:
|
||||
|
||||
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
|
||||
|
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "wx/apptrait.h"
|
||||
#include "wx/private/socket.h"
|
||||
#include "wx/link.h"
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
@@ -111,4 +112,8 @@ static struct ManagerSetter
|
||||
}
|
||||
} gs_managerSetter;
|
||||
|
||||
|
||||
// see the relative linker macro in socket.cpp
|
||||
wxFORCE_LINK_THIS_MODULE( socketiohandler );
|
||||
|
||||
#endif // wxUSE_SOCKETS
|
||||
|
@@ -107,6 +107,9 @@ wxSocketError wxSocketImplUnix::GetLastError() const
|
||||
void wxSocketImplUnix::DoEnableEvents(int flags, bool enable)
|
||||
{
|
||||
wxSocketManager * const manager = wxSocketManager::Get();
|
||||
if (!manager)
|
||||
return;
|
||||
|
||||
if ( enable )
|
||||
{
|
||||
if ( flags & wxSOCKET_INPUT_FLAG )
|
||||
|
Reference in New Issue
Block a user