diff options
author | Gatis Paeglis <gatis.paeglis@qt.io> | 2017-06-04 12:30:32 +0200 |
---|---|---|
committer | Gatis Paeglis <gatis.paeglis@qt.io> | 2017-07-14 15:44:34 +0000 |
commit | f8c42ea8913da919f221b92dc2de67058a982e1a (patch) | |
tree | 542d4d837fdbae7c7c51acb44f219deed38fae64 /src/plugins/platforms/xcb/qxcbwindow.cpp | |
parent | af00fe5d89d54ce794978d9c8c6b0fb4726f63c7 (diff) |
xcb: don't allow isAtLeastXI2{1,2} in builds without Xinput2
.. thus making it purely into a _runtime_ check of XInput 2 version.
If Qt was build with -no-xinput2, it does not make sense to compile
in code that always returns "false". Simply exclude code that is not
relevant for -no-xinput2 builds with XCB_USE_XINPUT2 ifdefs. In
addition, this improves readability of the code.
Now, trying to use ::isAtLeastXI21() in a -no-xinput2 build will
result in the following build error:
error: ‘class QXcbConnection’ has no member named ‘isAtLeastXI21’
Change-Id: If242510d43d71829b327edc1f76322f3a0db0e08
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbwindow.cpp')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbwindow.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 7a15caaac6..c3d00b53bf 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -2185,7 +2185,9 @@ void QXcbWindow::handleButtonPressEvent(int event_x, int event_y, int root_x, in QPoint global(root_x, root_y); if (isWheel) { +#if QT_CONFIG(xinput2) if (!connection()->isAtLeastXI21()) { +#endif QPoint angleDelta; if (detail == 4) angleDelta.setY(120); @@ -2198,7 +2200,9 @@ void QXcbWindow::handleButtonPressEvent(int event_x, int event_y, int root_x, in if (modifiers & Qt::AltModifier) std::swap(angleDelta.rx(), angleDelta.ry()); QWindowSystemInterface::handleWheelEvent(window(), timestamp, local, global, QPoint(), angleDelta, modifiers); +#if QT_CONFIG(xinput2) } +#endif return; } |