From 3bb72d5d94b6fffdca5bfe42be5fd1c5a3d794a2 Mon Sep 17 00:00:00 2001 From: Loewy Date: Wed, 21 Jan 2026 12:57:46 -0800 Subject: [PATCH] catch negative values set by out of preview bound press --- .../src/main/java/com/mrousavy/camera/core/PreviewView.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt b/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt index baa95cd..a46a94b 100644 --- a/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt +++ b/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt @@ -198,8 +198,10 @@ class PreviewView(context: Context, callback: SurfaceHolder.Callback) : val viewOrientation = Orientation.PORTRAIT val rotated = point.rotatedBy(viewSize, cameraSize, viewOrientation, sensorOrientation) - Log.i(TAG, "Converted layer point $point to camera point $rotated! ($sensorOrientation, $cameraSize -> $viewSize)") - return rotated + // Clamp to valid camera coordinates (must be non-negative for MeteringRectangle) + val clamped = Point(maxOf(0, rotated.x), maxOf(0, rotated.y)) + Log.i(TAG, "Converted layer point $point to camera point $clamped! ($sensorOrientation, $cameraSize -> $viewSize)") + return clamped } private fun updateLayout() {