Warning, /sdk/cutehmi/tools/cutehmi.daemon.3/dev/cutehmi.daemon-1.workaround.Qt.QTBUG-73649.txt is written in an unsupported language. File is not indexed.
0001 Problem: 0002 0003 Class QQmlApplicationEngine connects Qt.quit() signal to 0004 QCoreApplication::quit() and QQmlApplicationEngine::exit() signal to 0005 QCoreApplication::exit(), but it does so with AutoConnection. This causes in 0006 some circumstances problems, which are described in Qt documentation. 0007 0008 "It's good practice to always connect signals to this slot using a 0009 QueuedConnection. If a signal connected (non-queued) to this slot is emitted 0010 before control enters the main event loop (such as before "int main" calls 0011 exec()), the slot has no effect and the application never exits. Using a queued 0012 connection ensures that the slot will not be invoked until after control enters 0013 the main event loop." -- Qt documentation on QCoreApplication::exit(). 0014 0015 Investigation: 0016 0017 File qtdeclarative/src/qml/qml/qqmlapplicationengine.cpp contains method 0018 QQmlApplicationEnginePrivate::init(), which contains following lines. 0019 0020 ``` 0021 q->connect(q, SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit())); 0022 q->connect(q, &QQmlApplicationEngine::exit, QCoreApplication::instance(), &QCoreApplication::exit); 0023 ``` 0024 0025 Workaround: 0026 0027 Disconnect signals and connect them again with QueuedConnection. 0028