// 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);
}
%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();