summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Trotsenko <alex1973tr@gmail.com>2021-09-11 19:52:43 +0300
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-09-19 09:48:47 +0000
commit4a6618ca68ec020d96405c00182320c2b3dd8210 (patch)
tree45315f0fa5e8faba62b3fed352f38df03d5bcfbf
parent7b930750b13aeb35d57d4dcacf3714b17e1186c3 (diff)
QProcess: do not emit aboutToClose() twice
This signal is emitted by the QIODevice itself, so we don't have to emit it from QProcess::close(). Change-Id: I9165b3eebadc17a66cc834d5ef54441d13f23d7d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit efb90f6e7ed3e8d4f7b6c0fb96012cb3a9a9d037) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/corelib/io/qprocess.cpp1
-rw-r--r--tests/auto/corelib/io/qprocess/tst_qprocess.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index f03fc067cf..2d179237c4 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -1669,7 +1669,6 @@ qint64 QProcess::processId() const
void QProcess::close()
{
Q_D(QProcess);
- emit aboutToClose();
while (waitForBytesWritten(-1))
;
kill();
diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
index 6f9fbcbc47..02a8b67456 100644
--- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
+++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
@@ -835,6 +835,7 @@ void tst_QProcess::closeReadChannel()
void tst_QProcess::openModes()
{
QProcess proc;
+ QSignalSpy spyAboutToClose(&proc, &QProcess::aboutToClose);
QVERIFY(!proc.isOpen());
QCOMPARE(proc.openMode(), QProcess::NotOpen);
proc.start("testProcessEcho3/testProcessEcho3");
@@ -870,6 +871,7 @@ void tst_QProcess::openModes()
QVERIFY(!proc.isOpen());
QVERIFY(!proc.isReadable());
QVERIFY(!proc.isWritable());
+ QCOMPARE(spyAboutToClose.count(), 1);
QCOMPARE(proc.state(), QProcess::NotRunning);
}