summaryrefslogtreecommitdiffstats
path: root/src/serialport/qserialport_wince.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialport/qserialport_wince.cpp')
-rw-r--r--src/serialport/qserialport_wince.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/serialport/qserialport_wince.cpp b/src/serialport/qserialport_wince.cpp
index e99c6aa7..bc4c5269 100644
--- a/src/serialport/qserialport_wince.cpp
+++ b/src/serialport/qserialport_wince.cpp
@@ -435,6 +435,8 @@ bool QSerialPortPrivate::waitForReadOrWrite(bool *selectForRead, bool *selectFor
bool checkRead, bool checkWrite,
int msecs, bool *timedOut)
{
+ Q_Q(QSerialPort);
+
DWORD eventMask = 0;
// FIXME: Here the situation is not properly handled with zero timeout:
// breaker can work out before you call a method WaitCommEvent()
@@ -443,8 +445,10 @@ bool QSerialPortPrivate::waitForReadOrWrite(bool *selectForRead, bool *selectFor
::WaitCommEvent(descriptor, &eventMask, NULL);
breaker.stop();
- if (breaker.isWorked())
+ if (breaker.isWorked()) {
*timedOut = true;
+ q->setError(QSerialPort::TimeoutError);
+ }
if (!breaker.isWorked()) {
if (checkRead) {