X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a77bf68f69758e933a9719b83ce3076d10fc1790..d0ee33f5c6908b4ac5e1364381f0ef00942e3936:/wxPython/src/_evthandler.i?ds=sidebyside diff --git a/wxPython/src/_evthandler.i b/wxPython/src/_evthandler.i index 164eb60d41..d54c5aa1eb 100644 --- a/wxPython/src/_evthandler.i +++ b/wxPython/src/_evthandler.i @@ -19,8 +19,14 @@ // wxEvtHandler: the base class for all objects handling wxWindows events class wxEvtHandler : public wxObject { public: + // turn off this typemap + %typemap(out) wxEvtHandler*; + wxEvtHandler(); + // Turn it back on again + %typemap(out) wxEvtHandler* { $result = wxPyMake_wxObject($1, $owner); } + wxEvtHandler* GetNextHandler(); wxEvtHandler* GetPreviousHandler(); void SetNextHandler(wxEvtHandler* handler); @@ -67,10 +73,9 @@ public: } %extend { - void _setOORInfo(PyObject* _self) { + void _setOORInfo(PyObject* _self, bool incref=true) { if (_self && _self != Py_None) { - if (!self->GetClientObject()) - self->SetClientObject(new wxPyOORClientData(_self)); + self->SetClientObject(new wxPyOORClientData(_self, incref)); } else { wxPyOORClientData* data = (wxPyOORClientData*)self->GetClientObject();