Skip to content

Commit fc877f9

Browse files
committed
[scale] Safeguard against out-of-bounds min/max scale
1 parent 69cf2ef commit fc877f9

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

android/src/main/java/com/reactnative/photoview/PhotoViewManager.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,23 @@ public void setLoadHandlersRegistered(PhotoView view, boolean shouldNotifyLoadEv
6060

6161
@ReactProp(name = "minimumZoomScale")
6262
public void setMinimumZoomScale(PhotoView view, float minimumZoomScale) {
63+
if (view.getMediumScale() < minimumZoomScale) {
64+
view.setMediumScale(minimumZoomScale * 1.001f);
65+
}
66+
if (view.getMaximumScale() < minimumZoomScale) {
67+
view.setMaximumScale(minimumZoomScale * 1.001f);
68+
}
6369
view.setMinimumScale(minimumZoomScale);
6470
}
6571

6672
@ReactProp(name = "maximumZoomScale")
6773
public void setMaximumZoomScale(PhotoView view, float maximumZoomScale) {
74+
if (view.getMediumScale() > maximumZoomScale) {
75+
view.setMediumScale(maximumZoomScale * .999f);
76+
}
77+
if (view.getMinimumScale() > maximumZoomScale) {
78+
view.setMinimumScale(maximumZoomScale * .999f);
79+
}
6880
view.setMaximumScale(maximumZoomScale);
6981
}
7082

0 commit comments

Comments
 (0)