Changes needed to be able to build with SWIG 1.3.24, 1.3.27 as well as
the upcoming 1.3.28, using #if statements on SWIG_VERSION. Adjustments to ownership of SWIG objects, add some destructors and explicitly disown non-window objects when their ownership is transfered to a C++ object. Since all window objects are owned by their parent, or by themselves, always set their thisown attribute to False. Explicitly set thisown to False after any Destroy() methods are called, so SWIG doesn't try to destroy them again. Etc. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -245,19 +245,22 @@ public:
|
||||
|
||||
%pythonAppend wxPyArtProvider "self._setCallbackInfo(self, ArtProvider)"
|
||||
wxPyArtProvider();
|
||||
~wxPyArtProvider();
|
||||
|
||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||
|
||||
%disownarg( wxPyArtProvider *provider );
|
||||
DocDeclStr(
|
||||
static void , PushProvider(wxPyArtProvider *provider),
|
||||
"Add new provider to the top of providers stack.", "");
|
||||
%cleardisown( wxPyArtProvider *provider );
|
||||
|
||||
|
||||
DocDeclStr(
|
||||
static bool , PopProvider(),
|
||||
"Remove latest added provider and delete it.", "");
|
||||
|
||||
|
||||
%pythonAppend RemoveProvider "args[1].thisown = 1";
|
||||
DocDeclStr(
|
||||
static bool , RemoveProvider(wxPyArtProvider *provider),
|
||||
"Remove provider. The provider must have been added previously! The
|
||||
@@ -286,6 +289,7 @@ topmost provider if platform_dependent = false", "");
|
||||
|
||||
|
||||
|
||||
%pythonAppend Destroy "args[0].thisown = 0"
|
||||
%extend { void Destroy() { delete self; }}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user