Index: PySide/QtGui/typesystem_gui_common.xml
===================================================================
--- PySide/QtGui/typesystem_gui_common.xml	(revision 2836)
+++ PySide/QtGui/typesystem_gui_common.xml	(working copy)
@@ -4807,14 +4847,38 @@
     </modify-function>
   </object-type>
   <object-type name="QGraphicsLayout">
-    <!-- FIXME: Check what to do with this function! -->
-    <modify-function signature="getContentsMargins(qreal*,qreal*,qreal*,qreal*)const" remove="all" />
     <modify-function signature="widgetEvent(QEvent*)">
         <modify-argument index="1" invalidate-after-use="yes"/>
     </modify-function>
   </object-type>
   <object-type name="QGraphicsLayoutItem" copyable="false">
-    <modify-function signature="getContentsMargins(qreal*,qreal*,qreal*,qreal*)const" remove="all" />
+    <modify-function signature="getContentsMargins(qreal*,qreal*,qreal*,qreal*)const">
+        <modify-argument index="return">
+            <replace-type modified-type="PyObject" />
+        </modify-argument>
+        <modify-argument index="1">
+            <remove-argument/>
+        </modify-argument>
+        <modify-argument index="2">
+            <remove-argument/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-argument/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-argument/>
+        </modify-argument>
+
+        <inject-code class="native" position="end">
+            *%1 = Shiboken::Converter&lt;qreal>::toCpp(PyTuple_GetItem(pyResult, 0));
+            *%2 = Shiboken::Converter&lt;qreal>::toCpp(PyTuple_GetItem(pyResult, 1));
+            *%3 = Shiboken::Converter&lt;qreal>::toCpp(PyTuple_GetItem(pyResult, 2));
+            *%4 = Shiboken::Converter&lt;qreal>::toCpp(PyTuple_GetItem(pyResult, 3));            
+        </inject-code>
+        <inject-code class="target" position="beginning">
+            <insert-template name="fix_qreal*,qreal*,qreal*,qreal*"/>
+        </inject-code>
+    </modify-function>
     <modify-function signature="setParentLayoutItem(QGraphicsLayoutItem*)">
       <modify-argument index="1">
         <parent index="this" action="add"/>
@@ -4872,27 +4936,6 @@
   </object-type>
   <!-- a QObject so main-thread delete redundant -->
   <object-type name="QGraphicsWidget">
-    <modify-function signature="getContentsMargins(qreal*,qreal*,qreal*,qreal*)const">
-        <modify-argument index="return">
-            <replace-type modified-type="PyObject" />
-        </modify-argument>
-        <modify-argument index="1">
-            <remove-argument/>
-        </modify-argument>
-        <modify-argument index="2">
-            <remove-argument/>
-        </modify-argument>
-        <modify-argument index="3">
-            <remove-argument/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-argument/>
-        </modify-argument>
-
-        <inject-code class="target" position="beginning">
-            <insert-template name="fix_qreal*,qreal*,qreal*,qreal*"/>
-        </inject-code>
-    </modify-function>
     <modify-function signature="getWindowFrameMargins(qreal*,qreal*,qreal*,qreal*)const">
         <modify-argument index="return">
             <replace-type modified-type="PyObject" />
