From 65d2fb4468e62de566fec05f2f359ae53bf4a96b Mon Sep 17 00:00:00 2001 From: Galygious Date: Mon, 16 Mar 2026 06:54:44 -0500 Subject: [PATCH] fix(flutter): clamp remote canvas margin persistence --- flutter/lib/desktop/widgets/remote_toolbar.dart | 8 +++++--- flutter/lib/models/model.dart | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/flutter/lib/desktop/widgets/remote_toolbar.dart b/flutter/lib/desktop/widgets/remote_toolbar.dart index 0133efb8e..8ad6238bc 100644 --- a/flutter/lib/desktop/widgets/remote_toolbar.dart +++ b/flutter/lib/desktop/widgets/remote_toolbar.dart @@ -1111,9 +1111,11 @@ class _DisplayMenuState extends State<_DisplayMenu> { final edgeScrollEdgeThickness = await bind .sessionGetEdgeScrollEdgeThickness(sessionId: ffi.sessionId); final remoteCanvasMargin = - double.tryParse(bind.mainGetUserDefaultOption( - key: kOptionRemoteCanvasMargin)) ?? - 0; + (double.tryParse(bind.mainGetUserDefaultOption( + key: kOptionRemoteCanvasMargin)) ?? + 0) + .clamp(0, 400) + .toDouble(); return { 'visible': visible, 'scrollStyle': scrollStyle, diff --git a/flutter/lib/models/model.dart b/flutter/lib/models/model.dart index c4b079e06..617d7975e 100644 --- a/flutter/lib/models/model.dart +++ b/flutter/lib/models/model.dart @@ -2204,7 +2204,7 @@ class CanvasModel with ChangeNotifier { } Future setRemoteCanvasMargin(double value) async { - final normalizedValue = max(0, value.round()); + final normalizedValue = value.clamp(0, 400).round(); await bind.mainSetUserDefaultOption( key: kOptionRemoteCanvasMargin, value: normalizedValue.toString()); await updateViewStyle();