commit e181474e6c4f8007a56d62e269c61d2d4a8dbd75
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Wed Feb 22 10:58:22 2023 +0100

    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 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/insets/InsetCollapsible.cpp b/src/insets/InsetCollapsible.cpp
index f76dc99..a0a789c 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;
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to