27867de8ca
When a context object is provided, then callers expect that the functor or slot is executed in the thread of the context object. And if the context object has been destroyed by the time the permission response is received, the functor shouldn't be called at all. To implement this, we either have to plumb the call back through a signal/slot connection and benefit from QObject's infrastructure. This is not practical here, as we don't have an "engine QObject" that would emit a signal. Instead, we can create a QMetaCallEvent explicitly, following what we do in e.g. QHostInfo, and using a temporary QObject that handles the event to then call the functor. Add test coverage. Pick-to: 6.5 Change-Id: Id878e45b304857304165ab4a7c6aae76fbee46ce Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> |
||
---|---|---|
.github/workflows | ||
bin | ||
cmake | ||
coin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
libexec | ||
LICENSES | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
util | ||
.cmake.conf | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.tag | ||
CMakeLists.txt | ||
conanfile.py | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.cmake | ||
dependencies.yaml | ||
qt_cmdline.cmake | ||
sync.profile |