diff options
Diffstat (limited to 'src/serialport/qserialport_win.cpp')
-rw-r--r-- | src/serialport/qserialport_win.cpp | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp index e92dce21..db3ef694 100644 --- a/src/serialport/qserialport_win.cpp +++ b/src/serialport/qserialport_win.cpp @@ -273,15 +273,15 @@ qint64 QSerialPortPrivate::readData(char *data, qint64 maxSize) bool QSerialPortPrivate::waitForReadyRead(int msecs) { - QElapsedTimer stopWatch; - stopWatch.start(); - if (!writeStarted && !_q_startAsyncWrite()) return false; const qint64 initialReadBufferSize = buffer.size(); qint64 currentReadBufferSize = initialReadBufferSize; + QElapsedTimer stopWatch; + stopWatch.start(); + do { OVERLAPPED *overlapped = waitForNotified(timeoutValue(msecs, stopWatch.elapsed())); if (!overlapped) @@ -321,12 +321,12 @@ bool QSerialPortPrivate::waitForBytesWritten(int msecs) if (writeBuffer.isEmpty()) return false; - QElapsedTimer stopWatch; - stopWatch.start(); - if (!writeStarted && !_q_startAsyncWrite()) return false; + QElapsedTimer stopWatch; + stopWatch.start(); + forever { OVERLAPPED *overlapped = waitForNotified(timeoutValue(msecs, stopWatch.elapsed())); if (!overlapped) @@ -843,24 +843,6 @@ QSerialPort::SerialPortError QSerialPortPrivate::decodeSystemError(int systemErr return error; } -static const QString defaultPathPrefix = QStringLiteral("\\\\.\\"); - -QString QSerialPortPrivate::portNameToSystemLocation(const QString &port) -{ - QString ret = port; - if (!ret.contains(defaultPathPrefix)) - ret.prepend(defaultPathPrefix); - return ret; -} - -QString QSerialPortPrivate::portNameFromSystemLocation(const QString &location) -{ - QString ret = location; - if (ret.contains(defaultPathPrefix)) - ret.remove(defaultPathPrefix); - return ret; -} - // This table contains standard values of baud rates that // are defined in MSDN and/or in Win SDK file winbase.h |