summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Shienkov <denis.shienkov@gmail.com>2015-08-04 23:37:20 +0300
committerDenis Shienkov <denis.shienkov@gmail.com>2015-08-05 07:20:39 +0000
commit990514e77e91cdf7ce7fb8c02992ad72d77c0c72 (patch)
treebbe79020471395c082b552ada3719bde211de7a2
parent0774b7922800315cadb206dae65d2f713cc2fd93 (diff)
downloadqtserialport-990514e77e91cdf7ce7fb8c02992ad72d77c0c72.tar.gz
Fix proper handling of QSocketNotifier::event() method
According to documentation on QObject::event(), we need to return true in case the event was recognized and processed. In addition, were made small modifications related to the Qt coding style. Tested on Linux with the virtual tty0tty serial ports. (cherry-picked from 506370bfa0fc24a1fa1747fb28507d17b34dfcb4) Change-Id: Ic9a0e7e5f4957b1c1aa0a4a593ff4621792ba637 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
-rw-r--r--src/serialport/qserialport_unix.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp
index 37379e9..98d6622 100644
--- a/src/serialport/qserialport_unix.cpp
+++ b/src/serialport/qserialport_unix.cpp
@@ -118,14 +118,17 @@ public:
ReadNotifier(QSerialPortPrivate *d, QObject *parent)
: QSocketNotifier(d->descriptor, QSocketNotifier::Read, parent)
, dptr(d)
- {}
+ {
+ }
protected:
- bool event(QEvent *e) Q_DECL_OVERRIDE {
- bool ret = QSocketNotifier::event(e);
- if (ret)
+ bool event(QEvent *e) Q_DECL_OVERRIDE
+ {
+ if (e->type() == QEvent::SockAct) {
dptr->readNotification();
- return ret;
+ return true;
+ }
+ return QSocketNotifier::event(e);
}
private:
@@ -138,14 +141,17 @@ public:
WriteNotifier(QSerialPortPrivate *d, QObject *parent)
: QSocketNotifier(d->descriptor, QSocketNotifier::Write, parent)
, dptr(d)
- {}
+ {
+ }
protected:
- bool event(QEvent *e) Q_DECL_OVERRIDE {
- bool ret = QSocketNotifier::event(e);
- if (ret)
+ bool event(QEvent *e) Q_DECL_OVERRIDE
+ {
+ if (e->type() == QEvent::SockAct) {
dptr->completeAsyncWrite();
- return ret;
+ return true;
+ }
+ return QSocketNotifier::event(e);
}
private: