From efb90f6e7ed3e8d4f7b6c0fb96012cb3a9a9d037 Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Sat, 11 Sep 2021 19:52:43 +0300 Subject: 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(). Pick-to: 6.1 6.2 Change-Id: I9165b3eebadc17a66cc834d5ef54441d13f23d7d Reviewed-by: Thiago Macieira --- src/corelib/io/qprocess.cpp | 1 - tests/auto/corelib/io/qprocess/tst_qprocess.cpp | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index 0f2de9e1ff..6262c3d0db 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -1567,7 +1567,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 41f90de1e7..e6e8f9c7bc 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); } -- cgit v1.2.3