summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Dale <richard.dale@codethink.co.uk>2013-07-04 09:56:59 +0100
committerRichard Dale <richard.dale@codethink.co.uk>2013-07-04 09:56:59 +0100
commitb1abca2eee45e7b8ecf71cb5cd1e77a2821fcac2 (patch)
tree63b2817a318705017c2358964f4cc79ba08bed52
parent12cd0feebe811ab3d07b0ce1c4236ee4ceba26f7 (diff)
parent58365228b3181ed03188fc8ff56007ea22678bb5 (diff)
downloadqtserialport-baserock/morph.tar.gz
Merge v5.1.0 releasebaserock/morph
-rw-r--r--src/serialport/qserialport_win.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp
index bbc3e8c..e8d4d62 100644
--- a/src/serialport/qserialport_win.cpp
+++ b/src/serialport/qserialport_win.cpp
@@ -146,9 +146,14 @@ public:
// Check for unexpected event. This event triggered when pulled previously
// opened device from the system, when opened as for not to read and not to
// write options and so forth.
- if ((triggeredEventMask == 0)
- || ((originalEventMask & triggeredEventMask) == 0)) {
+ if (triggeredEventMask == 0)
error = true;
+
+ // Workaround for standard CDC ACM serial ports, for which triggered an
+ // unexpected event EV_TXEMPTY at data transmission.
+ if ((originalEventMask & triggeredEventMask) == 0) {
+ if ((triggeredEventMask & EV_TXEMPTY) == 0)
+ error = true;
}
// Start processing a caught error.