From e181474e6c4f8007a56d62e269c61d2d4a8dbd75 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Wed, 22 Feb 2023 10:58:22 +0100 Subject: [PATCH] Fixup 04ece4f0: handle case where openinlined_ is not set When computing the width of the button, some code has been added in 04ece4f0 to shorten the space in LeftButton geometry. It turns out that the Left/Top-button-ness is not always known at this point (since it depends on the width itself!). Therefore, it is better to make the button narrower also in the TopButton case. --- src/insets/InsetCollapsible.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/insets/InsetCollapsible.cpp b/src/insets/InsetCollapsible.cpp index f76dc99348..a0a789cc67 100644 --- a/src/insets/InsetCollapsible.cpp +++ b/src/insets/InsetCollapsible.cpp @@ -191,8 +191,11 @@ Dimension InsetCollapsible::dimensionCollapsed(BufferView const & bv) const int const offset = Inset::textOffset(&bv); theFontMetrics(labelfont).buttonText( buttonLabel(bv), offset, dim.wid, dim.asc, dim.des); - // remove spacing on the right for left buttons - if (geometry(bv) == LeftButton) + // remove spacing on the right for left buttons; we also do it for + // TopButton (although it is not useful per se), because + // openinlined_ is not always set properly at this point. + Geometry const geom = geometry(bv); + if (geom == LeftButton || geom == TopButton) // this form makes a difference if offset is even dim.wid -= offset - offset / 2; return dim; -- 2.39.5