diff options
author | Samuel Bryner <samuelbryner@gmx.ch> | 2014-05-30 15:36:43 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-30 16:24:51 +0200 |
commit | 76e3365e3b0bc11a4766b4154fe46ad3dcf91251 (patch) | |
tree | 1bf4012279d82036df6f8696bcd7257eaf0c1ab9 /src | |
parent | 04a3308346190a70509a759423993f6bcc365328 (diff) | |
download | qtserialport-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>
Diffstat (limited to 'src')
-rw-r--r-- | src/serialport/qserialport.cpp | 3 |
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; } |