From 0b8960c60ccc2813b5c1742dab3806bb9e85bbe9 Mon Sep 17 00:00:00 2001 From: yggverse Date: Thu, 2 Apr 2026 19:04:03 +0300 Subject: [PATCH] prevent panic on set_width_request when the parent widget yet not rendered --- .../tab/item/page/content/text/markdown/tags/hr.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/browser/window/tab/item/page/content/text/markdown/tags/hr.rs b/src/app/browser/window/tab/item/page/content/text/markdown/tags/hr.rs index b1fbbe86..1816d285 100644 --- a/src/app/browser/window/tab/item/page/content/text/markdown/tags/hr.rs +++ b/src/app/browser/window/tab/item/page/content/text/markdown/tags/hr.rs @@ -9,6 +9,7 @@ const REGEX_HR: &str = r"(?m)^(?P
\\?[-]{3,})$"; /// Apply --- `Tag` to given `TextBuffer` pub fn render(text_view: &TextView) { + const OFFSET: i32 = 18; let separator = Separator::builder() .orientation(Orientation::Horizontal) .build(); @@ -16,10 +17,15 @@ pub fn render(text_view: &TextView) { let text_view = text_view.clone(); let separator = separator.clone(); move || { - separator.set_width_request(text_view.width() - 18); - ControlFlow::Break + let w = text_view.width(); + if w < OFFSET { + ControlFlow::Continue + } else { + separator.set_width_request(w - OFFSET); + ControlFlow::Break + } } - }); + }); // @TODO something with the widgets init/activation priority.. let buffer = text_view.buffer();