Fixed divide by zero in Fl_Scrollbar found by Harm-Jan Zwinderman. This
happened if minimum == maximum. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@987 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
685d58c497
commit
ecc91867b3
@ -1,5 +1,5 @@
|
||||
//
|
||||
// "$Id: Fl_Scrollbar.cxx,v 1.7.2.5 2000/01/16 04:30:37 bill Exp $"
|
||||
// "$Id: Fl_Scrollbar.cxx,v 1.7.2.6 2000/01/17 20:40:12 bill Exp $"
|
||||
//
|
||||
// Scroll bar widget for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
@ -75,7 +75,11 @@ int Fl_Scrollbar::handle(int event) {
|
||||
else {
|
||||
int sliderx;
|
||||
int S = int(slider_size()*W+.5);
|
||||
double val = (value()-minimum())/(maximum()-minimum());
|
||||
double val;
|
||||
if (minimum() == maximum())
|
||||
val = 0.5;
|
||||
else
|
||||
val = (value()-minimum())/(maximum()-minimum());
|
||||
if (val >= 1.0) sliderx = W-S;
|
||||
else if (val <= 0.0) sliderx = 0;
|
||||
else sliderx = int(val*(W-S)+.5);
|
||||
@ -91,7 +95,11 @@ int Fl_Scrollbar::handle(int event) {
|
||||
else {
|
||||
int slidery;
|
||||
int S = int(slider_size()*H+.5);
|
||||
double val = (value()-minimum())/(maximum()-minimum());
|
||||
double val;
|
||||
if (minimum() == maximum())
|
||||
val = 0.5;
|
||||
else
|
||||
val = (value()-minimum())/(maximum()-minimum());
|
||||
if (val >= 1.0) slidery = H-S;
|
||||
else if (val <= 0.0) slidery = 0;
|
||||
else slidery = int(val*(H-S)+.5);
|
||||
@ -241,5 +249,5 @@ Fl_Scrollbar::Fl_Scrollbar(int X, int Y, int W, int H, const char* L)
|
||||
}
|
||||
|
||||
//
|
||||
// End of "$Id: Fl_Scrollbar.cxx,v 1.7.2.5 2000/01/16 04:30:37 bill Exp $".
|
||||
// End of "$Id: Fl_Scrollbar.cxx,v 1.7.2.6 2000/01/17 20:40:12 bill Exp $".
|
||||
//
|
||||
|
||||
Loading…
Reference in New Issue
Block a user