diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2014-02-06 18:38:16 +0400 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-10 18:14:09 +0100 |
commit | f85c5fc1e25dd16dc625d15036d2dbc9498e8b76 (patch) | |
tree | 4cca414615ed903754d7235ca0f0386970d98e98 | |
parent | 27cb087a6af00f4bdbfcbd1a8e064b504f593f21 (diff) | |
download | qtserialport-f85c5fc1e25dd16dc625d15036d2dbc9498e8b76.tar.gz |
Initialize the DCB structure before using it
Please refer to the MSDN documentation for details:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363214%28v=vs.85%29.aspx
and
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363201%28v=vs.85%29.aspx
Change-Id: Id60f6d1b4a9237c2ae74063ac52221f42761b004
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
-rw-r--r-- | src/serialport/qserialport_win.cpp | 3 | ||||
-rw-r--r-- | src/serialport/qserialport_wince.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/serialport/qserialport_win.cpp b/src/serialport/qserialport_win.cpp index 3bd0076..116206f 100644 --- a/src/serialport/qserialport_win.cpp +++ b/src/serialport/qserialport_win.cpp @@ -159,6 +159,9 @@ bool QSerialPortPrivate::open(QIODevice::OpenMode mode) return false; } + ::ZeroMemory(&restoredDcb, sizeof(restoredDcb)); + restoredDcb.DCBlength = sizeof(restoredDcb); + if (!::GetCommState(handle, &restoredDcb)) { q->setError(decodeSystemError()); return false; diff --git a/src/serialport/qserialport_wince.cpp b/src/serialport/qserialport_wince.cpp index 0a454b4..d9116cc 100644 --- a/src/serialport/qserialport_wince.cpp +++ b/src/serialport/qserialport_wince.cpp @@ -188,6 +188,9 @@ bool QSerialPortPrivate::open(QIODevice::OpenMode mode) return false; } + ::ZeroMemory(&restoredDcb, sizeof(restoredDcb)); + restoredDcb.DCBlength = sizeof(restoredDcb); + if (!::GetCommState(handle, &restoredDcb)) { q->setError(decodeSystemError()); return false; |