From: Jean-Marc Lasgouttes Date: Wed, 22 Feb 2023 09:58:22 +0000 (+0100) Subject: Fixup 04ece4f0: handle case where openinlined_ is not set X-Git-Tag: 2.4-beta3~251 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e181474e6c4f8007a56d62e269c61d2d4a8dbd75;p=lyx.git 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. --- 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;