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/stopwatch.h"
|
||||||
#include "wx/thread.h"
|
#include "wx/thread.h"
|
||||||
#include "wx/evtloop.h"
|
#include "wx/evtloop.h"
|
||||||
|
#include "wx/link.h"
|
||||||
|
|
||||||
#include "wx/private/fd.h"
|
#include "wx/private/fd.h"
|
||||||
#include "wx/private/socket.h"
|
#include "wx/private/socket.h"
|
||||||
@@ -769,7 +770,8 @@ void wxSocketBase::Init()
|
|||||||
{
|
{
|
||||||
// this Initialize() will be undone by wxSocketModule::OnExit(), all
|
// this Initialize() will be undone by wxSocketModule::OnExit(), all
|
||||||
// the other calls to it should be matched by a call to Shutdown()
|
// 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)
|
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
|
#endif // wxUSE_SOCKETS
|
||||||
|
@@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "wx/apptrait.h"
|
#include "wx/apptrait.h"
|
||||||
#include "wx/private/socket.h"
|
#include "wx/private/socket.h"
|
||||||
|
#include "wx/link.h"
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// implementation
|
// implementation
|
||||||
@@ -111,4 +112,8 @@ static struct ManagerSetter
|
|||||||
}
|
}
|
||||||
} gs_managerSetter;
|
} gs_managerSetter;
|
||||||
|
|
||||||
|
|
||||||
|
// see the relative linker macro in socket.cpp
|
||||||
|
wxFORCE_LINK_THIS_MODULE( socketiohandler );
|
||||||
|
|
||||||
#endif // wxUSE_SOCKETS
|
#endif // wxUSE_SOCKETS
|
||||||
|
@@ -107,6 +107,9 @@ wxSocketError wxSocketImplUnix::GetLastError() const
|
|||||||
void wxSocketImplUnix::DoEnableEvents(int flags, bool enable)
|
void wxSocketImplUnix::DoEnableEvents(int flags, bool enable)
|
||||||
{
|
{
|
||||||
wxSocketManager * const manager = wxSocketManager::Get();
|
wxSocketManager * const manager = wxSocketManager::Get();
|
||||||
|
if (!manager)
|
||||||
|
return;
|
||||||
|
|
||||||
if ( enable )
|
if ( enable )
|
||||||
{
|
{
|
||||||
if ( flags & wxSOCKET_INPUT_FLAG )
|
if ( flags & wxSOCKET_INPUT_FLAG )
|
||||||
|
Reference in New Issue
Block a user