diff --git a/src/kits/interface/ScrollBar.cpp b/src/kits/interface/ScrollBar.cpp index c12c5ab5b2..9bb0899103 100644 --- a/src/kits/interface/ScrollBar.cpp +++ b/src/kits/interface/ScrollBar.cpp @@ -379,6 +379,8 @@ BScrollBar::SetValue(float value) value = fMax; else if (value < fMin) value = fMin; + else if(isnan(value)) + return; value = roundf(value); @@ -408,7 +410,7 @@ BScrollBar::ValueChanged(float newValue) { TRACE("BScrollBar(%s)::ValueChanged(%.1f)\n", Name(), newValue); - if (fTarget) { + if (fTarget && newValue) { // cache target bounds BRect targetBounds = fTarget->Bounds(); // if vertical, check bounds top and scroll if different from newValue