aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml46
-rw-r--r--PySide/typesystem_templates.xml6
2 files changed, 49 insertions, 3 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index a3ed01d16..22372783e 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -4290,9 +4290,49 @@
</inject-code>
</modify-function>
<modify-function signature="style()">
- <inject-code class="target" position="end">
- Shiboken::setParent(%CONVERTTOPYTHON[QApplication*](qApp), %PYARG_0);
- </inject-code>
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="desktop()">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="clipboard()">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="focusWidget()">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="overrideCursor()">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="topLevelAt(const QPoint&amp;)">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="topLevelAt(int, int)">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="widgetAt(const QPoint&amp;)">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
+ </modify-function>
+ <modify-function signature="widgetAt(int, int)">
+ <inject-code class="target" position="end">
+ <insert-template name="set_qapp_parent_for_orphan"/>
+ </inject-code>
</modify-function>
</object-type>
<object-type name="QCommandLinkButton"/>
diff --git a/PySide/typesystem_templates.xml b/PySide/typesystem_templates.xml
index e2e6fc4a8..959fe7e20 100644
--- a/PySide/typesystem_templates.xml
+++ b/PySide/typesystem_templates.xml
@@ -181,5 +181,11 @@
%RETURN_TYPE retval_ = %CPPSELF.%FUNCTION_NAME(%1, %2, %3, %4, %5);
%PYARG_0 = Shiboken::makeTuple(retval_, %4);
</template>
+
+ <template name="set_qapp_parent_for_orphan">
+ Shiboken::SbkBaseWrapper* _pySelf = reinterpret_cast&lt;Shiboken::SbkBaseWrapper*&gt;(%PYARG_0);
+ if (!_pySelf->parentInfo)
+ Shiboken::setParent(%CONVERTTOPYTHON[QApplication*](qApp), %PYARG_0);
+ </template>
</typesystem>