Skip to content

Commit 3e11333

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents e886bf9 + 10962b2 commit 3e11333

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

src/main/java/com/brunomnsilva/smartgraph/containers/ContentZoomScrollPane.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,15 @@ private void zoomContent(double pivotX, double pivotY, ZoomDirection direction)
232232
double newCenterX = centerPosX * scaleFactor;
233233
double newCenterY = centerPosY * scaleFactor;
234234

235-
setHvalue( (newCenterX - zoomCenter.getX()) / (contentSize.getWidth() * scaleFactor - viewPort.getWidth()) );
236-
setVvalue( (newCenterY - zoomCenter.getY()) / (contentSize.getHeight() * scaleFactor - viewPort.getHeight()) );
235+
double h = (newCenterX - zoomCenter.getX()) / (contentSize.getWidth() * scaleFactor - viewPort.getWidth());
236+
double v = (newCenterY - zoomCenter.getY()) / (contentSize.getHeight() * scaleFactor - viewPort.getHeight());
237+
238+
// Check values to avoid scrollbars stuck when the new computed scroll values are NaN or Infinity.
239+
// It seems that only NaN leads to this problem, but let's be safe.
240+
if(Double.isInfinite(h) || Double.isNaN(h) || Double.isInfinite(v) || Double.isNaN(v) ) return;
241+
242+
setHvalue(h);
243+
setVvalue(v);
237244

238245
scaleFactorProperty.set(scaleTotal);
239246
}

0 commit comments

Comments
 (0)