X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/248834a066bf167b0496161f47ad8ca07a1cada6..601c78c6b6eebdf5b280b8439924a5a4b3c598b1:/wxPython/samples/embedded/embedded.cpp diff --git a/wxPython/samples/embedded/embedded.cpp b/wxPython/samples/embedded/embedded.cpp index 36ccdefc79..0a3dc40d07 100644 --- a/wxPython/samples/embedded/embedded.cpp +++ b/wxPython/samples/embedded/embedded.cpp @@ -42,7 +42,7 @@ public: virtual ~MyApp(); void Init_wxPython(); private: - PyThreadState* main_tstate; + PyThreadState* m_mainTState; }; @@ -83,16 +83,22 @@ void MyApp::Init_wxPython() // module and sets a pointer to a function table located there. wxPyCoreAPI_IMPORT(); + // Ensure that the new classes defined in the wxPython wrappers are + // recognised by the wx RTTI system. (If you don't use wxWindows in + // your C++ app you won't need to do this.) + wxClassInfo::CleanUpClasses(); + wxClassInfo::InitializeClasses(); + // Save the current Python thread state and release the // Global Interpreter Lock. - main_tstate = wxPyBeginAllowThreads(); + m_mainTState = wxPyBeginAllowThreads(); } MyApp::~MyApp() { // Restore the thread state and tell Python to cleanup after itself. - wxPyEndAllowThreads(main_tstate); + wxPyEndAllowThreads(m_mainTState); Py_Finalize(); } @@ -212,7 +218,7 @@ wxWindow* MyFrame::DoPythonStuff(wxWindow* parent) // More complex embedded situations will require passing C++ objects to // Python and/or returning objects from Python to be used in C++. This // sample shows one way to do it. NOTE: The above code could just have - // easily come from a file, or the whole thing coupld be in the Python + // easily come from a file, or the whole thing could be in the Python // module that is imported and manipulated directly in this C++ code. See // the Python API for more details.