summaryrefslogtreecommitdiffstats
path: root/src/plugins/generic
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/generic')
-rw-r--r--src/plugins/generic/tslib/qtslib.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/plugins/generic/tslib/qtslib.cpp b/src/plugins/generic/tslib/qtslib.cpp
index 9905d9cc9e..0dcf5bc6ca 100644
--- a/src/plugins/generic/tslib/qtslib.cpp
+++ b/src/plugins/generic/tslib/qtslib.cpp
@@ -110,12 +110,17 @@ static bool get_sample(struct tsdev *dev, struct ts_sample *sample, bool rawMode
void QTsLibMouseHandler::readMouseData()
{
ts_sample sample;
- while (get_sample(m_dev, &sample, m_rawMode)) {
+ while (get_sample(m_dev, &sample, m_rawMode)) {
bool pressed = sample.pressure;
int x = sample.x;
int y = sample.y;
+ // work around missing coordinates on mouse release
+ if (sample.pressure == 0 && sample.x == 0 && sample.y == 0) {
+ x = m_x;
+ y = m_y;
+ }
if (!m_rawMode) {
//filtering: ignore movements of 2 pixels or less
@@ -123,12 +128,6 @@ void QTsLibMouseHandler::readMouseData()
int dy = y - m_y;
if (dx*dx <= 4 && dy*dy <= 4 && pressed == m_pressed)
continue;
- } else {
- // work around missing coordinates on mouse release in raw mode
- if (sample.pressure == 0 && sample.x == 0 && sample.y == 0) {
- x = m_x;
- y = m_y;
- }
}
QPoint pos(x, y);