// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
-
-#ifdef __WXGTK__
-#include <gtk/gtk.h>
-#endif
+#include <stdio.h> // get the correct definition of NULL
#undef DEBUG
#include <Python.h>
#include "helpers.h"
+
#ifdef __WXMSW__
#include <wx/msw/private.h>
#undef FindWindow
#undef GetClassInfo
#undef GetClassName
#endif
-#include <wx/module.h>
+
+#ifdef __WXGTK__
+#include <gtk/gtk.h>
+#endif
//---------------------------------------------------------------------------
// This one isn't acutally called... See __wxStart()
bool wxPyApp::OnInit(void) {
- return false;
+ return FALSE;
}
int wxPyApp::MainLoop(void) {
}
bResult = PyInt_AS_LONG(result);
if (! bResult) {
- PyErr_SetString(PyExc_SystemExit, "OnInit returned false, exiting...");
+ PyErr_SetString(PyExc_SystemExit, "OnInit returned FALSE, exiting...");
return NULL;
}
wxPyCallbackHelper::wxPyCallbackHelper() {
m_self = NULL;
m_lastFound = NULL;
+ m_incRef = FALSE;
}
wxPyCallbackHelper::~wxPyCallbackHelper() {
bool doSave = wxPyRestoreThread();
- Py_XDECREF(m_self);
+ if (m_incRef)
+ Py_XDECREF(m_self);
wxPySaveThread(doSave);
}
void wxPyCallbackHelper::setSelf(PyObject* self, int incref) {
m_self = self;
+ m_incRef = incref;
if (incref)
Py_INCREF(m_self);
}
// themselves and some special case handling in wxPyCallback::EventThunker.
-wxPySelfRef::wxPySelfRef() {
+wxPyEvtSelfRef::wxPyEvtSelfRef() {
//m_self = Py_None; // **** We don't do normal ref counting to prevent
//Py_INCREF(m_self); // circular loops...
- m_cloned = false;
+ m_cloned = FALSE;
}
-wxPySelfRef::~wxPySelfRef() {
+wxPyEvtSelfRef::~wxPyEvtSelfRef() {
bool doSave = wxPyRestoreThread();
if (m_cloned)
Py_DECREF(m_self);
wxPySaveThread(doSave);
}
-void wxPySelfRef::SetSelf(PyObject* self, bool clone) {
+void wxPyEvtSelfRef::SetSelf(PyObject* self, bool clone) {
bool doSave = wxPyRestoreThread();
if (m_cloned)
Py_DECREF(m_self);
wxPySaveThread(doSave);
}
-PyObject* wxPySelfRef::GetSelf() const {
+PyObject* wxPyEvtSelfRef::GetSelf() const {
Py_INCREF(m_self);
return m_self;
}