summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorMladoniSzabi <szabimlado@gmail.com>2022-10-12 14:56:36 +0100
committerMladoniSzabi <szabimlado@gmail.com>2022-10-13 11:38:25 +0100
commit3550354fd3b7bbe76bcae0f1e8a3f9846a7ea70a (patch)
treedc30a1c87d6adad815f14ca8802d7b388cf5201d /scene/gui
parentfd4572cc45506f901e68a2cb485f44ffd01b937e (diff)
fixed holding alt while zooming zooms in by 2 increments.
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/view_panner.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/scene/gui/view_panner.cpp b/scene/gui/view_panner.cpp
index 3b7f499a07..e8e3e3e556 100644
--- a/scene/gui/view_panner.cpp
+++ b/scene/gui/view_panner.cpp
@@ -38,7 +38,9 @@ bool ViewPanner::gui_input(const Ref<InputEvent> &p_event, Rect2 p_canvas_rect)
Ref<InputEventMouseButton> mb = p_event;
if (mb.is_valid()) {
Vector2 scroll_vec = Vector2((mb->get_button_index() == MouseButton::WHEEL_RIGHT) - (mb->get_button_index() == MouseButton::WHEEL_LEFT), (mb->get_button_index() == MouseButton::WHEEL_DOWN) - (mb->get_button_index() == MouseButton::WHEEL_UP));
- if (scroll_vec != Vector2()) {
+ // Moving the scroll wheel sends two events: one with pressed as true,
+ // and one with pressed as false. Make sure we only process one of them.
+ if (scroll_vec != Vector2() && mb->is_pressed()) {
if (control_scheme == SCROLL_PANS) {
if (mb->is_ctrl_pressed()) {
scroll_vec.y *= mb->get_factor();