Skip to content

Fix rvalue overload of qobject_pointer_cast for GCC 9.3

Albert Astals Cid requested to merge aacid/qtbase:967 into kde/5.15

The code assumed that any C++ implementation would implement the resolution for LWG2996 in C++20 mode. While that may be the case in the future, the current state in GCC 9.3 as shipped in Ubuntu 20.04 LTS is that it doesn't, which leads to tst_qsharedpointer fail there.

Fix by using the safe version of std::move, std::exchange, which guarantees the state of the src object, no matter what the callee does.

Pick-to: 6.2 6.1 5.15 Change-Id: Icc39b527df4d3a7b398ff2b44bcbdf9082b81f2f Reviewed-by: Giuseppe D'Angelo (cherry picked from commit 0632494b)

Merge request reports