summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-20 16:28:35 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-20 16:28:35 +0200
commit1ace6361c2411e8760ee6c2f669c1fd3c79dcc93 (patch)
treea283c0db25d1825188dbcb6fd2bfaf5d66d3284b
parentd433ad1e02268af09b2c4c5ff73eeb29061434b6 (diff)
parent58365228b3181ed03188fc8ff56007ea22678bb5 (diff)
downloadqtserialport-1ace6361c2411e8760ee6c2f669c1fd3c79dcc93.tar.gz
Merge remote-tracking branch 'origin/release' into stable
Change-Id: I08b51226675178ae62fa93c91bc8dd04d18bd62f
-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.