From kde-commits Wed Dec 09 21:13:33 2015 From: Cyrille Berger Date: Wed, 09 Dec 2015 21:13:33 +0000 To: kde-commits Subject: [krita/berger-scripting] krita/plugins/extensions/pykrita/sip/krita: transfer to Py_None seems to Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=144969588213055 Git commit fce1bc5e632b8e75863af7fcb0cee26e34f560e4 by Cyrille Berger. Committed on 09/12/2015 at 19:42. Pushed by berger into branch 'berger-scripting'. transfer to Py_None seems to make python object stay alive (http://python.6= .x6.nabble.com/sip-how-to-make-a-python-instance-owned-by-C-without-using-a= -parent-td4984965.html) M +1 -0 krita/plugins/extensions/pykrita/sip/krita/dockwidgetfactory= base.sip M +16 -2 krita/plugins/extensions/pykrita/sip/krita/krita.sip http://commits.kde.org/krita/fce1bc5e632b8e75863af7fcb0cee26e34f560e4 diff --git a/krita/plugins/extensions/pykrita/sip/krita/dockwidgetfactoryba= se.sip b/krita/plugins/extensions/pykrita/sip/krita/dockwidgetfactorybase.s= ip index a4d293a..c70c4fc 100644 --- a/krita/plugins/extensions/pykrita/sip/krita/dockwidgetfactorybase.sip +++ b/krita/plugins/extensions/pykrita/sip/krita/dockwidgetfactorybase.sip @@ -18,5 +18,6 @@ public: }; DockWidgetFactoryBase(const QString& _id, DockPosition _dockPosition, = bool _isCollapsable =3D true, bool _defaultCollapsed =3D false); virtual QDockWidget* createDockWidget() =3D 0 /Factory/; + QString id() const; }; = diff --git a/krita/plugins/extensions/pykrita/sip/krita/krita.sip b/krita/p= lugins/extensions/pykrita/sip/krita/krita.sip index e7086c3..65e4d8c 100644 --- a/krita/plugins/extensions/pykrita/sip/krita/krita.sip +++ b/krita/plugins/extensions/pykrita/sip/krita/krita.sip @@ -17,7 +17,21 @@ public: = QAction *createAction(const QString &text); = - void addViewExtension(ViewExtension* _viewExtension /TransferThis/); - void addDockWidgetFactory(DockWidgetFactoryBase* _factory /Transfer, T= ransferThis/); + void addViewExtension(ViewExtension* _viewExtension /GetWrapper/); +%MethodCode + Py_BEGIN_ALLOW_THREADS + sipCpp->addViewExtension(a0); + Py_END_ALLOW_THREADS + = + sipTransferTo(a0Wrapper, Py_None); +%End + void addDockWidgetFactory(DockWidgetFactoryBase* _factory /GetWrapper/= ); +%MethodCode + Py_BEGIN_ALLOW_THREADS + sipCpp->addDockWidgetFactory(a0); + Py_END_ALLOW_THREADS + = + sipTransferTo(a0Wrapper, Py_None); +%End }; =