From 3eca182ddf3e7c3ae74c61a74a89370fd2c3a4f7 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sun, 19 Jan 2025 15:30:06 +0200 Subject: [PATCH] fix panic on negative counter value update --- src/app/browser/window/tab/item/page/input/response.rs | 5 +++-- .../browser/window/tab/item/page/input/response/control.rs | 2 +- .../window/tab/item/page/input/response/control/counter.rs | 2 +- .../tab/item/page/input/response/control/counter/widget.rs | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/app/browser/window/tab/item/page/input/response.rs b/src/app/browser/window/tab/item/page/input/response.rs index e0371d90..d5af1346 100644 --- a/src/app/browser/window/tab/item/page/input/response.rs +++ b/src/app/browser/window/tab/item/page/input/response.rs @@ -55,9 +55,10 @@ impl Response { control.update( form.widget.text().is_empty(), size_limit.map(|limit| { - limit - - (base.to_string_partial(UriHideFlags::QUERY).len() + limit as isize + - ((base.to_string_partial(UriHideFlags::QUERY).len() + Uri::escape_string(&form.widget.text(), None, false).len()) + as isize) }), ) } diff --git a/src/app/browser/window/tab/item/page/input/response/control.rs b/src/app/browser/window/tab/item/page/input/response/control.rs index 791038b0..55249aa6 100644 --- a/src/app/browser/window/tab/item/page/input/response/control.rs +++ b/src/app/browser/window/tab/item/page/input/response/control.rs @@ -36,7 +36,7 @@ impl Control { } // Actions - pub fn update(&self, is_empty: bool, bytes_left: Option) { + pub fn update(&self, is_empty: bool, bytes_left: Option) { // Update children components self.counter.update(is_empty, bytes_left); self.send.update(match bytes_left { diff --git a/src/app/browser/window/tab/item/page/input/response/control/counter.rs b/src/app/browser/window/tab/item/page/input/response/control/counter.rs index 1ea7c342..703f4df8 100644 --- a/src/app/browser/window/tab/item/page/input/response/control/counter.rs +++ b/src/app/browser/window/tab/item/page/input/response/control/counter.rs @@ -23,7 +23,7 @@ impl Counter { } // Actions - pub fn update(&self, is_empty: bool, bytes_left: Option) { + pub fn update(&self, is_empty: bool, bytes_left: Option) { self.widget.update(is_empty, bytes_left); } } diff --git a/src/app/browser/window/tab/item/page/input/response/control/counter/widget.rs b/src/app/browser/window/tab/item/page/input/response/control/counter/widget.rs index 7355e2df..298e509d 100644 --- a/src/app/browser/window/tab/item/page/input/response/control/counter/widget.rs +++ b/src/app/browser/window/tab/item/page/input/response/control/counter/widget.rs @@ -19,7 +19,7 @@ impl Widget { } // Actions - pub fn update(&self, is_empty: bool, bytes_left: Option) { + pub fn update(&self, is_empty: bool, bytes_left: Option) { match bytes_left { Some(value) => { // Update color on chars left reached