diff --git a/mobile/lib/widgets/photo_view/src/controller/photo_view_controller_delegate.dart b/mobile/lib/widgets/photo_view/src/controller/photo_view_controller_delegate.dart index 6825bf8ee1..6efbc32272 100644 --- a/mobile/lib/widgets/photo_view/src/controller/photo_view_controller_delegate.dart +++ b/mobile/lib/widgets/photo_view/src/controller/photo_view_controller_delegate.dart @@ -65,7 +65,9 @@ mixin PhotoViewControllerDelegate on State { double get scale { // for figuring out initial scale - final needsRecalc = markNeedsScaleRecalc && !scaleStateController.scaleState.isScaleStateZooming; + final isZooming = scaleStateController.scaleState.isScaleStateZooming; + final isUserInteracting = controller.position != Offset.zero; + final needsRecalc = markNeedsScaleRecalc && !isZooming && !isUserInteracting; final scaleExistsOnController = controller.scale != null; if (needsRecalc || !scaleExistsOnController) {