Unverified Commit 8dae655b authored by Sebastian Krzyszkowiak's avatar Sebastian Krzyszkowiak
Browse files

Send wl_pointer.frame when emulating pointer events out of touch ones

When touching a surface that doesn't register to wl_touch events, KWin
didn't send frame events (which it does for regular pointer and touch
events), causing severe updating issues with some clients.

Test Plan:
Launch a client that doesn't attach to wl_touch (for instance,
rootston) with WAYLAND_DEBUG=client and watch the logs while touching
its window.
parent ccba094b
......@@ -1470,6 +1470,7 @@ void SeatInterface::touchMove(qint32 id, const QPointF &globalPosition)
[this, pos] (PointerInterface *p) {
wl_pointer_send_motion(p->resource(), timestamp(),
wl_fixed_from_double(pos.x()), wl_fixed_from_double(pos.y()));
p->d_func()->sendFrame();
}
);
}
......@@ -1497,6 +1498,7 @@ void SeatInterface::touchUp(qint32 id)
forEachInterface<PointerInterface>(focusedTouchSurface(), d->pointers,
[this, serial] (PointerInterface *p) {
wl_pointer_send_button(p->resource(), serial, timestamp(), BTN_LEFT, WL_POINTER_BUTTON_STATE_RELEASED);
p->d_func()->sendFrame();
}
);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment