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 05:35:20 +0000
commit506370bfa0fc24a1fa1747fb28507d17b34dfcb4 (patch)
treeb0c2d4dde30b1fe1ee781183da8b0a29404a1719
parent4328ab9709561842c680bc8bb7e4f2abc3ea3852 (diff)
downloadqtserialport-506370bfa0fc24a1fa1747fb28507d17b34dfcb4.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. Change-Id: Ic9a0e7e5f4957b1c1aa0a4a593ff4621792ba637 Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com> 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 81886cc..7a42764 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: