Message ID | 20190710153906.32048-1-y.karadz@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | kernel-shark: kernel-shark: Avoid a duplicate error message from capture | expand |
On Wed, 10 Jul 2019 19:00:43 +0300 Yordan Karadzhov <y.karadz@gmail.com> wrote: > On Wed, Jul 10, 2019, 18:39 Yordan Karadzhov (VMware) <y.karadz@gmail.com> > wrote: > > > If the capture process finishes with an error the _captureError() slot > > will print an error message. We do not need to print identical message > > in _captureFinished(). > > > > However, we have to keep in mind that the process that we started is > > "pkexec" and the capture dialog is a child process of "pkexec". So if > > the capture dialog failed to start or crashed the "pkexec" process > > itself will have a normal exit, however its return value will be > > different from 0 (it will just pass the return value of the capture > > dialog executable). In this case _captureError() is not triggered, > > but we still want to see an error message. > > > > Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com> > > --- > > kernel-shark/src/KsMainWindow.cpp | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel-shark/src/KsMainWindow.cpp > > b/kernel-shark/src/KsMainWindow.cpp > > index 29d44d9..c127ad1 100644 > > --- a/kernel-shark/src/KsMainWindow.cpp > > +++ b/kernel-shark/src/KsMainWindow.cpp > > @@ -1180,7 +1180,7 @@ void KsMainWindow::_captureFinished(int ret, > > QProcess::ExitStatus st) > > return; > > } > > > > - if (ret != 0 || st != QProcess::NormalExit) { > > + if (ret != 0 || st == QProcess::NormalExit) { > > > > Ohh, I made stupid mistake in the rush. Must use AND instead of OR Heh, want me to just make the fix, or can you send a v2? -- Steve > > QString message = "Capture process failed:<br>"; > > > > message += capture->errorString(); > > -- > > 2.20.1 > > > >
diff --git a/kernel-shark/src/KsMainWindow.cpp b/kernel-shark/src/KsMainWindow.cpp index 29d44d9..c127ad1 100644 --- a/kernel-shark/src/KsMainWindow.cpp +++ b/kernel-shark/src/KsMainWindow.cpp @@ -1180,7 +1180,7 @@ void KsMainWindow::_captureFinished(int ret, QProcess::ExitStatus st) return; } - if (ret != 0 || st != QProcess::NormalExit) { + if (ret != 0 || st == QProcess::NormalExit) { QString message = "Capture process failed:<br>"; message += capture->errorString();
If the capture process finishes with an error the _captureError() slot will print an error message. We do not need to print identical message in _captureFinished(). However, we have to keep in mind that the process that we started is "pkexec" and the capture dialog is a child process of "pkexec". So if the capture dialog failed to start or crashed the "pkexec" process itself will have a normal exit, however its return value will be different from 0 (it will just pass the return value of the capture dialog executable). In this case _captureError() is not triggered, but we still want to see an error message. Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com> --- kernel-shark/src/KsMainWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)