aboutsummaryrefslogtreecommitdiffstats
path: root/PySide
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2011-04-20 18:43:02 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:54:13 -0300
commitfc47ed069ee60fff932e2b6e06c4f8acd7faa0fb (patch)
treee2829b8a37b08a959012e437f05ddfa85dadd1f7 /PySide
parent0512a3f98f1bc449214b29c307f40bb03a19ae26 (diff)
Implemented necessary convertions rules for function QPicture.setData.
Fixes bug #759 Reviewer: Lauro Moura <lauro.neto@openbossa.org> Hugo Parente Lima <hugo.pl@gmail.com>
Diffstat (limited to 'PySide')
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml28
1 files changed, 27 insertions, 1 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index 5eaedc81c..01cd45dc5 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -504,7 +504,33 @@
<modify-function signature="outputFormats()" remove="all"/>
<!-- ### End of obsolete section -->
<!-- See bug 759 -->
- <modify-function signature="setData(const char*,uint)" remove="all"/>
+ <modify-function signature="data() const">
+ <modify-argument index="return">
+ <replace-type modified-type="PyObject"/>
+ </modify-argument>
+ <inject-code>
+ %PYARG_0 = PyBuffer_FromMemory(const_cast&lt;char*&gt;(%CPPSELF.data()), %CPPSELF.size());
+ </inject-code>
+ </modify-function>
+ <modify-function signature="setData(const char*,uint)">
+ <modify-argument index="1">
+ <replace-type modified-type="PyBuffer"/>
+ <conversion-rule class="target">
+ PyObject *%out = PyBuffer_FromMemory(const_cast&lt;char*&gt;(%in), size);
+ </conversion-rule>
+ <conversion-rule class="native">
+ const char *%out;
+ Py_ssize_t buffer_len;
+ PyObject_AsCharBuffer(arg, &amp;%out, &amp;buffer_len);
+ </conversion-rule>
+ </modify-argument>
+ <modify-argument index="2">
+ <remove-argument/>
+ <conversion-rule class="native">
+ uint %out = buffer_len;
+ </conversion-rule>
+ </modify-argument>
+ </modify-function>
</value-type>
<value-type name="QRegion" >
<enum-type name="RegionType"/>