summaryrefslogtreecommitdiffstats
path: root/src/serialport
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialport')
-rw-r--r--src/serialport/qserialport.cpp11
-rw-r--r--src/serialport/qserialport_unix.cpp2
-rw-r--r--src/serialport/qserialport_win.cpp4
-rw-r--r--src/serialport/qserialportinfo.cpp3
4 files changed, 13 insertions, 7 deletions
diff --git a/src/serialport/qserialport.cpp b/src/serialport/qserialport.cpp
index 4f9d1809..7853f1a6 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 544658c0..4941a86d 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 d6a1d135..7ae40d9e 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 2547e01d..f49051da 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.
*/