-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.12.0, 5.13.0, 5.14.0
-
-
da4069a96b97acb180023eae4ee5f2096613e51f (qtdeclarative) 67e8983443859802372d0b30219bab967a44501a (qt/qtdeclarative/5.12)
Running the qmlprofiler tool in interactive mode (--interactive) has issues with the 'r' and 'f' commands - it gets stuck. This can be solved in qtdeclarative easily with:
diff --git a/tools/qmlprofiler/qmlprofilerapplication.cpp b/tools/qmlprofiler/qmlprofilerapplication.cpp
index 6732766..13a0021 100644
--- a/tools/qmlprofiler/qmlprofilerapplication.cpp
+++ b/tools/qmlprofiler/qmlprofilerapplication.cpp
@@ -303,7 +303,7 @@ void QmlProfilerApplication::flush()
{
if (m_recording) {
m_pendingRequest = REQUEST_FLUSH;
- m_qmlProfilerClient->sendRecordingStatus(false);
+ m_qmlProfilerClient->setRecording(false);
} else {
if (m_profilerData->save(m_interactiveOutputFile)) {
m_profilerData->clear();
@@ -393,7 +393,7 @@ void QmlProfilerApplication::userCommand(const QString &command)
if (cmd == Constants::CMD_RECORD || cmd == Constants::CMD_RECORD2) {
m_pendingRequest = REQUEST_TOGGLE_RECORDING;
- m_qmlProfilerClient->sendRecordingStatus(!m_recording);
+ m_qmlProfilerClient->setRecording(!m_recording);
} else if (cmd == Constants::CMD_QUIT || cmd == Constants::CMD_QUIT2) {
m_pendingRequest = REQUEST_QUIT;
if (m_recording) {
However, this unveils another bug: After flushing (command 'f') and restarting ('r'), the next stop ('r') causes an "index out of range":
ASSERT failure in QVector<T>::at: "index out of range", file src/corelib/tools/qvector.h, line 429
Aborted (core dumped)