diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-11-09 14:18:55 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-11-14 13:04:26 +0000 |
commit | 93b54f123771c5b7da9880e9a2f372562893707f (patch) | |
tree | 73d215f70733d18928283bf89beb1b7e0d89aca3 /sources/shiboken2/generator/generator.cpp | |
parent | 9679c0e671a5331c75cd90f7a4a720f8433fd372 (diff) |
shiboken: Generate static_cast for constructor parameters with space
unsigned long(0) does not work, use static_cast<unsigned long>(0).
Fixes: PYSIDE-846
Change-Id: If41baebdf0b1228b658408e4c300872d17143e6f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'sources/shiboken2/generator/generator.cpp')
-rw-r--r-- | sources/shiboken2/generator/generator.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sources/shiboken2/generator/generator.cpp b/sources/shiboken2/generator/generator.cpp index 8b37b44e0..ec227bd83 100644 --- a/sources/shiboken2/generator/generator.cpp +++ b/sources/shiboken2/generator/generator.cpp @@ -124,8 +124,13 @@ QString DefaultValue::constructorParameter() const return QLatin1String("#error"); case DefaultValue::Boolean: return QLatin1String("false"); - case DefaultValue::CppScalar: - return m_value + QLatin1String("(0)"); + case DefaultValue::CppScalar: { + // PYSIDE-846: Use static_cast in case of "unsigned long" and similar + const QString cast = m_value.contains(QLatin1Char(' ')) + ? QLatin1String("static_cast<") + m_value + QLatin1Char('>') + : m_value; + return cast + QLatin1String("(0)"); + } case DefaultValue::Custom: case DefaultValue::Enum: return m_value; |