summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Bryner <samuelbryner@gmx.ch>2014-05-30 15:36:43 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-30 16:24:51 +0200
commit76e3365e3b0bc11a4766b4154fe46ad3dcf91251 (patch)
tree1bf4012279d82036df6f8696bcd7257eaf0c1ab9
parent04a3308346190a70509a759423993f6bcc365328 (diff)
downloadqtserialport-76e3365e3b0bc11a4766b4154fe46ad3dcf91251.tar.gz
Don't emit error in destructor of QSerialPort.
QSerialPort::~QSerialPort() calls close() which emits an error if the port is already closed. This error signal may then call slots of already (partially) deleted objects. Task-number: QTBUG-39369 Change-Id: I28bf94564ae120619054c6920779da974dccdad6 Reviewed-by: Laszlo Papp <lpapp@kde.org>
-rw-r--r--src/serialport/qserialport.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/serialport/qserialport.cpp b/src/serialport/qserialport.cpp
index 5885a7f..9d2fcef 100644
--- a/src/serialport/qserialport.cpp
+++ b/src/serialport/qserialport.cpp
@@ -425,7 +425,8 @@ QSerialPort::QSerialPort(const QSerialPortInfo &serialPortInfo, QObject *parent)
QSerialPort::~QSerialPort()
{
/**/
- close();
+ if (isOpen())
+ close();
delete d_ptr;
}