diff options
author | Liang Qi <liang.qi@qt.io> | 2017-06-07 12:07:20 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-06-07 13:31:18 +0200 |
commit | 55aa81e9acc736d162d3e4f775814ac91dbf1a80 (patch) | |
tree | 6f2965db3b993e8012c65dd291562b1d8d04556a /src | |
parent | 65dba188d51d6dc67a15483f26c6b94a21abf5bc (diff) | |
parent | a7594fd4e883a33faffb8340d73547f882eccb29 (diff) | |
download | qtserialport-55aa81e9acc736d162d3e4f775814ac91dbf1a80.tar.gz |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
.qmake.conf
src/serialport/qserialport_win.cpp
Change-Id: Icc832e218a1135cb82e780ccaa63abd990289eaf
Diffstat (limited to 'src')
-rw-r--r-- | src/serialport/qserialport.cpp | 11 | ||||
-rw-r--r-- | src/serialport/qserialport_unix.cpp | 2 | ||||
-rw-r--r-- | src/serialport/qserialport_win.cpp | 4 | ||||
-rw-r--r-- | src/serialport/qserialportinfo.cpp | 3 |
4 files changed, 13 insertions, 7 deletions
diff --git a/src/serialport/qserialport.cpp b/src/serialport/qserialport.cpp index 4f9d180..7853f1a 100644 --- a/src/serialport/qserialport.cpp +++ b/src/serialport/qserialport.cpp @@ -956,6 +956,10 @@ bool QSerialPort::isDataTerminalReady() property; otherwise \c false is returned and the error code is set to NotOpenError. + \note An attempt to control the RTS signal in the HardwareControl mode + will fail with error code set to UnsupportedOperationError, because + the signal is automatically controlled by the driver. + \sa pinoutSignals() */ bool QSerialPort::setRequestToSend(bool set) @@ -1278,8 +1282,11 @@ qint64 QSerialPort::bytesAvailable() const */ qint64 QSerialPort::bytesToWrite() const { - Q_D(const QSerialPort); - return QIODevice::bytesToWrite() + d->writeBuffer.size(); + qint64 pendingBytes = QIODevice::bytesToWrite(); +#if defined(Q_OS_WIN32) + pendingBytes += d_func()->writeChunkBuffer.size(); +#endif + return pendingBytes; } /*! diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp index 544658c..4941a86 100644 --- a/src/serialport/qserialport_unix.cpp +++ b/src/serialport/qserialport_unix.cpp @@ -779,7 +779,7 @@ bool QSerialPortPrivate::readNotification() if (readBufferMaxSize && bytesToRead > (readBufferMaxSize - buffer.size())) { bytesToRead = readBufferMaxSize - buffer.size(); - if (bytesToRead == 0) { + if (bytesToRead <= 0) { // Buffer is full. User must read data from the buffer // before we can read more from the port. setReadNotificationEnabled(false); diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp index d6a1d13..7ae40d9 100644 --- a/src/serialport/qserialport_win.cpp +++ b/src/serialport/qserialport_win.cpp @@ -537,11 +537,11 @@ bool QSerialPortPrivate::startAsyncRead() if (readStarted) return true; - DWORD bytesToRead = QSERIALPORT_BUFFERSIZE; + qint64 bytesToRead = QSERIALPORT_BUFFERSIZE; if (readBufferMaxSize && bytesToRead > (readBufferMaxSize - buffer.size())) { bytesToRead = readBufferMaxSize - buffer.size(); - if (bytesToRead == 0) { + if (bytesToRead <= 0) { // Buffer is full. User must read data from the buffer // before we can read more from the port. return false; diff --git a/src/serialport/qserialportinfo.cpp b/src/serialport/qserialportinfo.cpp index 2547e01..f49051d 100644 --- a/src/serialport/qserialportinfo.cpp +++ b/src/serialport/qserialportinfo.cpp @@ -122,8 +122,7 @@ QSerialPortInfo::~QSerialPortInfo() { } -/*! \fn void QSerialPortInfo::swap(QSerialPortInfo &other) - +/*! Swaps QSerialPortInfo \a other with this QSerialPortInfo. This operation is very fast and never fails. */ |