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

List:       kde-commits
Subject:    [krita/berger-scripting] krita/plugins/extensions/pykrita/sip/krita: transfer to Py_None seems to
From:       Cyrille Berger <cberger () cberger ! net>
Date:       2015-12-09 21:13:33
Message-ID: E1a6m3J-0005XC-4Q () scm ! kde ! org
[Download RAW message or body]

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/dockwidgetfactorybase.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/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