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.
This commit is contained in:
parent
e84c1dcac2
commit
4da1822100
1 changed files with 2 additions and 0 deletions
|
@ -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();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue