Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
6.8.0
-
None
-
-
0448857f4 (tqtc/dev), c1b62556b (dev), 27e417a75 (dev), f0feeef45 (dev), 6410710ab (dev), e61885af2 (dev), 3b525507d (dev), 59e32ca43 (dev), 920e6e9e6 (dev), 957f14243 (dev), 7ebf16845 (dev), 6336bf22c (dev), 97ab53936 (tqtc/6.8), 909f80fbb (dev)
Description
Non-default constructible <value-type> (like recently added QWebEngineFrame QWebEngineDesktopMediaRequest ) cause some issues with shiboken since the copy conversion used for function arguments requires a default constructor.
Using <object-type> is not always an alternative since then, function return by value does not work and crashes occur when emitting signals passing by const-ref.
In the future, there might also be other special cases like move-only types.
- Better detection of constructibility from clang
- Added attributes for overriding code model detection of constructibility
- Fixed crash when passing types with pointer conversion only by const ref in Qt Signals
- Handle Move only types
- Fix passing non-default constructible types by ref
- Streamlined code
Attachments
Issue Links
- relates to
-
PYSIDE-3015 RuntimeWarning: CopyCppToPython(): SbkConverter::copyToPython is null for "PySide6.QtOpcUa.QOpcUaWriteResult".
-
- Closed
-
-
PYSIDE-3091 Build error with clang 14.0
-
- Closed
-
For Gerrit Dashboard: PYSIDE-3004 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
621860,32 | shiboken6: Refactor logic for determining constructability | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
622070,5 | Fix crash of signals with object-type parameter being passed by const-ref | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
622254,17 | shiboken6: Handle further class special functions | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
622302,19 | shiboken6: Remove old code handling special value types | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
622417,4 | WIP: Add further type system flags for value types | dev | pyside/pyside-setup | Status: ABANDONED | -2 | 0 |
622604,16 | shiboken6: Generate converters depending on new type system flags | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
622639,16 | shiboken6: Add a new type entry base class CppTypeEntry for C++ types | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
622681,19 | Add special function enums to CppTypeEntry | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
622995,15 | shiboken6: warn about special types | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
623091,16 | shiboken6: Handle move only types | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
623190,17 | shiboken6: Add documentation about value vs objects | dev | pyside/pyside-setup | Status: MERGED | +2 | +1 |
623359,7 | shiboken6: Enable passing non-default constructible value type by reference | dev | pyside/pyside-setup | Status: MERGED | +2 | 0 |
623748,3 | M2M modules: Use value-type where applicable | tqtc/dev | pyside/tqtc-pyside-setup | Status: MERGED | +2 | 0 |
623801,3 | M2M modules: Use value-type where applicable | tqtc/6.8 | pyside/tqtc-pyside-setup | Status: MERGED | +2 | 0 |
642253,6 | Allow for building with Clang 14 (Yocto) | dev | pyside/pyside-setup | Status: MERGED | +2 | +1 |
642904,2 | Allow for building with Clang 14 (Yocto) | 6.9 | pyside/pyside-setup | Status: MERGED | +2 | 0 |