[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [calligra/krita-scripting-rempt] krita/plugins/extensions/pykrita/sip/krita: transfer to Py_None see
From:       Cyrille Berger <cberger () cberger ! net>
Date:       2015-05-09 18:55:44
Message-ID: E1Yr9ua-0002b7-BM () scm ! kde ! org
[Download RAW message or body]

Git commit ec809bebd19c40e7e2bc7c6f49ef82299ebb7096 by Cyrille Berger.
Committed on 09/05/2015 at 18:20.
Pushed by berger into branch 'krita-scripting-rempt'.

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/dockwidgetfactorybase.sip
M  +16   -2    krita/plugins/extensions/pykrita/sip/krita/krita.sip

http://commits.kde.org/calligra/ec809bebd19c40e7e2bc7c6f49ef82299ebb7096

diff --git a/krita/plugins/extensions/pykrita/sip/krita/dockwidgetfactorybase.sip \
b/krita/plugins/extensions/pykrita/sip/krita/dockwidgetfactorybase.sip 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 \
= true, bool _defaultCollapsed = false);  virtual QDockWidget* createDockWidget() = 0 \
/Factory/; +    QString id() const;
 };
 
diff --git a/krita/plugins/extensions/pykrita/sip/krita/krita.sip \
b/krita/plugins/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, TransferThis/);
+    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
 };
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic