summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/serialport/qserialport_win.cpp4
-rw-r--r--src/serialport/qserialport_wince.cpp3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp
index 116206f..5641fcb 100644
--- a/src/serialport/qserialport_win.cpp
+++ b/src/serialport/qserialport_win.cpp
@@ -175,6 +175,9 @@ bool QSerialPortPrivate::open(QIODevice::OpenMode mode)
currentDcb.fNull = FALSE;
currentDcb.fErrorChar = FALSE;
+ if (currentDcb.fDtrControl == DTR_CONTROL_HANDSHAKE)
+ currentDcb.fDtrControl = DTR_CONTROL_DISABLE;
+
if (!updateDcb())
return false;
@@ -290,6 +293,7 @@ bool QSerialPortPrivate::setDataTerminalReady(bool set)
return false;
}
+ currentDcb.fDtrControl = set ? DTR_CONTROL_ENABLE : DTR_CONTROL_DISABLE;
return true;
}
diff --git a/src/serialport/qserialport_wince.cpp b/src/serialport/qserialport_wince.cpp
index d9116cc..b987c80 100644
--- a/src/serialport/qserialport_wince.cpp
+++ b/src/serialport/qserialport_wince.cpp
@@ -204,6 +204,9 @@ bool QSerialPortPrivate::open(QIODevice::OpenMode mode)
currentDcb.fNull = false;
currentDcb.fErrorChar = false;
+ if (currentDcb.fDtrControl == DTR_CONTROL_HANDSHAKE)
+ currentDcb.fDtrControl = DTR_CONTROL_DISABLE;
+
if (!updateDcb())
return false;