mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-27 01:43:48 -07:00
seat: fix double scrolling in some applications (#8583)
This commit is contained in:
@@ -332,8 +332,10 @@ void CSeatManager::sendPointerAxis(uint32_t timeMs, wl_pointer_axis axis, double
|
||||
p->sendAxisRelativeDirection(axis, relative);
|
||||
|
||||
if (source == 0) {
|
||||
p->sendAxisValue120(axis, value120);
|
||||
p->sendAxisDiscrete(axis, discrete);
|
||||
if (p->version() >= 8)
|
||||
p->sendAxisValue120(axis, value120);
|
||||
else
|
||||
p->sendAxisDiscrete(axis, discrete);
|
||||
} else if (value == 0)
|
||||
p->sendAxisStop(timeMs, axis);
|
||||
}
|
||||
|
@@ -136,6 +136,10 @@ CWLPointerResource::CWLPointerResource(SP<CWlPointer> resource_, SP<CWLSeatResou
|
||||
sendEnter(g_pSeatManager->state.pointerFocus.lock(), {-1, -1} /* Coords don't really matter that much, they will be updated next move */);
|
||||
}
|
||||
|
||||
int CWLPointerResource::version() {
|
||||
return resource->version();
|
||||
}
|
||||
|
||||
bool CWLPointerResource::good() {
|
||||
return resource->resource();
|
||||
}
|
||||
|
@@ -73,6 +73,7 @@ class CWLPointerResource {
|
||||
CWLPointerResource(SP<CWlPointer> resource_, SP<CWLSeatResource> owner_);
|
||||
|
||||
bool good();
|
||||
int version();
|
||||
void sendEnter(SP<CWLSurfaceResource> surface, const Vector2D& local);
|
||||
void sendLeave();
|
||||
void sendMotion(uint32_t timeMs, const Vector2D& local);
|
||||
|
Reference in New Issue
Block a user