diff options
author | Yordan Karadzhov (VMware) <y.karadz@gmail.com> | 2019-07-09 18:56:49 +0300 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-07-09 21:37:36 -0400 |
commit | 5b8f0144949f57eb2ee8b86a0e41d6a6f4b93bbd (patch) | |
tree | 374f6b0aeed46c006a0cbb80e851100d76569ff2 | |
parent | adaba4d98daa45142cdd44aae56eda0011f136c3 (diff) | |
download | trace-cmd-5b8f0144949f57eb2ee8b86a0e41d6a6f4b93bbd.tar.gz |
kernel-shark: Disconnect "capture errors" before closing KernelShark GUI
This is done because we do not want to show error messages if the Capture
dialog is not closed.
Link: http://lore.kernel.org/linux-trace-devel/20190709155650.2345-8-y.karadz@gmail.com
Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r-- | kernel-shark/src/KsMainWindow.cpp | 15 | ||||
-rw-r--r-- | kernel-shark/src/KsMainWindow.hpp | 2 |
2 files changed, 15 insertions, 2 deletions
diff --git a/kernel-shark/src/KsMainWindow.cpp b/kernel-shark/src/KsMainWindow.cpp index 752a17ae..8826cf5c 100644 --- a/kernel-shark/src/KsMainWindow.cpp +++ b/kernel-shark/src/KsMainWindow.cpp @@ -155,6 +155,16 @@ KsMainWindow::~KsMainWindow() _data.clear(); + /* + * Do not show error messages if the "capture" process is still + * running (Capture dialog is not closed). + */ + if (_capture.state() != QProcess::NotRunning) { + disconnect(_captureErrorConnection); + _capture.close(); + _capture.waitForFinished(); + } + if (kshark_instance(&kshark_ctx)) kshark_free(kshark_ctx); } @@ -1129,8 +1139,9 @@ void KsMainWindow::_initCapture() connect(&_capture, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(_captureFinished(int, QProcess::ExitStatus))); - connect(&_capture, &QProcess::errorOccurred, - this, &KsMainWindow::_captureError); + _captureErrorConnection = + connect(&_capture, &QProcess::errorOccurred, + this, &KsMainWindow::_captureError); connect(&_captureLocalServer, &QLocalServer::newConnection, this, &KsMainWindow::_readSocket); diff --git a/kernel-shark/src/KsMainWindow.hpp b/kernel-shark/src/KsMainWindow.hpp index 22700d99..62e66a00 100644 --- a/kernel-shark/src/KsMainWindow.hpp +++ b/kernel-shark/src/KsMainWindow.hpp @@ -159,6 +159,8 @@ private: QSettings _settings; + QMetaObject::Connection _captureErrorConnection; + void _open(); void _restoreSession(); |