1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-01-11 18:24:43 +02:00

Desktop: Resolves #4827: Laggy scrolling in Markdown viewer (#5496)

This commit is contained in:
Kenichi Kobayashi 2021-10-16 19:44:02 +09:00 committed by GitHub
parent 6879481fd5
commit 1d46d9f657
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -357,6 +357,17 @@
return m ? contentElement.scrollTop / m : 0;
}
contentElement.addEventListener('wheel', webviewLib.logEnabledEventHandler(e => {
// When zoomFactor is not 1 (using an HD display is a typical case),
// DOM element's scrollTop is incorrectly calculated after wheel scroll events
// in the layer of Electron/Chromium, as of 2021-09-23.
// To avoid this problem, prevent the upstream from calculating scrollTop and
// calculate by yourself by accumulating wheel events.
// https://github.com/laurent22/joplin/pull/5496
contentElement.scrollTop = Math.max(0, Math.min(maxScrollTop(), contentElement.scrollTop + e.deltaY));
e.preventDefault();
}));
contentElement.addEventListener('scroll', webviewLib.logEnabledEventHandler(e => {
// If the last scroll event was done by the user, lastScrollEventTime is set and
// we can use that to skip the event handling. We skip it because in that case