diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2017-05-19 12:00:05 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2017-05-19 12:32:56 +0000 |
commit | 4ec9cfa3c6b895c0cf50227c189cfa542de88b64 (patch) | |
tree | 9d8d7f1fb82aae2727ae62da11a5a62459d7bce0 | |
parent | 58f937f45fb693018e9735344c3b92faa121eb17 (diff) |
Fix "GLint"-like typedefs to be resolved by shiboken on macOS
On macOS the GL integer types are typedefed to C++11 fixed width
integer types, like int32_t. Add these types to
typesystem_core_common.xml as primitive types, so that OpenGL
function bindings are properly generated.
For conversion purposes, once the generator writes the binding C++
code, the fixed width integer types get resolved to simple types
like "int", and thus the primitive type conversion template for "int"
is used.
Change-Id: Ie41f5fb3fbc300c34ea777b875a57cff558d79df
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r-- | PySide2/QtCore/typesystem_core_common.xml | 10 | ||||
-rw-r--r-- | tests/QtGui/qopenglwindow_test.py | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/PySide2/QtCore/typesystem_core_common.xml b/PySide2/QtCore/typesystem_core_common.xml index c5b951f04..be570bd60 100644 --- a/PySide2/QtCore/typesystem_core_common.xml +++ b/PySide2/QtCore/typesystem_core_common.xml @@ -209,6 +209,16 @@ <!-- FIXME APIExtractor or shiboken do not support multiple includes by primitive type --> <include file-name="signalmanager.h" location="global"/> </primitive-type> + + <!-- Among other use cases, these types are necessary for OpenGL "GLint"-like typedefs on macOS. + --> + <primitive-type name="int32_t" /> + <primitive-type name="int16_t" /> + <primitive-type name="int8_t" /> + <primitive-type name="uint32_t" /> + <primitive-type name="uint16_t" /> + <primitive-type name="uint8_t" /> + <primitive-type name="bool" target-lang-api-name="PyBool"> <conversion-rule> <native-to-target> diff --git a/tests/QtGui/qopenglwindow_test.py b/tests/QtGui/qopenglwindow_test.py index 0eb57728f..2d11a0238 100644 --- a/tests/QtGui/qopenglwindow_test.py +++ b/tests/QtGui/qopenglwindow_test.py @@ -93,7 +93,6 @@ class OpenGLWindow(QOpenGLWindow): class QOpenGLWindowTest(UsesQApplication): # On macOS, glClear(), glViewport() are rejected due to GLbitfield/GLint not being resolved properly - @unittest.skipIf(sys.platform == 'darwin', "unsupported platform") def test(self): openGlWindow = OpenGLWindow() openGlWindow.resize(640, 480) |