summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer.qnx@kdab.com>2012-04-26 09:49:27 +0100
committerQt by Nokia <qt-info@nokia.com>2012-04-26 11:45:01 +0200
commit5c882dbb8955e3bcbd77027aae379aca50e9dfaa (patch)
tree1c630d38265e613b5076de231374c8e5f3bd3af2 /src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp
parent15d4e943ba5ddbc861a76f33f074438954dc596a (diff)
Use non-blocking reads on virtual keyboard pps device.
Change-Id: Iad350c948049128f3014a6ad6536ac9dc2ee86d5 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp')
-rw-r--r--src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp
index 9c336baeb9..685e5f0f0b 100644
--- a/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp
+++ b/src/plugins/platforms/qnx/qqnxvirtualkeyboard.cpp
@@ -58,7 +58,7 @@
QT_BEGIN_NAMESPACE
-const char *QQnxVirtualKeyboard::ms_PPSPath = "/pps/services/input/control?wait";
+const char *QQnxVirtualKeyboard::ms_PPSPath = "/pps/services/input/control";
const size_t QQnxVirtualKeyboard::ms_bufferSize = 2048;
// Huge hack for keyboard shadow (see QNX PR 88400). Should be removed ASAP.
@@ -181,6 +181,11 @@ void QQnxVirtualKeyboard::ppsDataReady()
return;
}
+ // We sometimes get spurious read notifications when no data is available.
+ // Bail out early in this case
+ if (nread == 0)
+ return;
+
// nread is the real space necessary, not the amount read.
if (static_cast<size_t>(nread) > ms_bufferSize - 1) {
qCritical("QQnxVirtualKeyboard: Keyboard buffer size too short; need %u.", nread + 1);