summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Fl_Scrollbar.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Fl_Scrollbar.cxx b/src/Fl_Scrollbar.cxx
index 47b853320..370162a16 100644
--- a/src/Fl_Scrollbar.cxx
+++ b/src/Fl_Scrollbar.cxx
@@ -129,8 +129,13 @@ int Fl_Scrollbar::handle(int event) {
if (pushed_) return 1;
return Fl_Slider::handle(event, X,Y,W,H);
case FL_MOUSEWHEEL :
- if (horizontal()) return 0;
- handle_drag(clamp(value() + linesize_ * Fl::e_dy));
+ if (horizontal()) {
+ if (Fl::e_dx==0) return 0;
+ handle_drag(clamp(value() + linesize_ * Fl::e_dx));
+ } else {
+ if (Fl::e_dy==0) return 0;
+ handle_drag(clamp(value() + linesize_ * Fl::e_dy));
+ }
return 1;
case FL_SHORTCUT:
case FL_KEYBOARD: {