commit a4e6b4e35612d6208f72ae888d6df4d192dd567d
Author: Juergen Spitzmueller <[email protected]>
Date:   Thu Jun 18 16:20:41 2026 +0200

    Fix status setting of DynamicMenuButton (#13332)
    
    (cherry picked from commit 8729529f0cb40f46feee83a04cece1d3c61b02d8)
---
 src/frontends/qt/GuiToolbar.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/frontends/qt/GuiToolbar.cpp b/src/frontends/qt/GuiToolbar.cpp
index fddd49f48e..36357e840d 100644
--- a/src/frontends/qt/GuiToolbar.cpp
+++ b/src/frontends/qt/GuiToolbar.cpp
@@ -338,6 +338,8 @@ public:
        DocumentClassConstPtr text_class_;
        ///
        InsetText const * inset_;
+       ///
+       list<FuncRequest> func_requests_;
 };
 
 
@@ -421,7 +423,8 @@ void DynamicMenuButton::updateTriggered()
                // were other kinds of menus.
                setEnabled(!bv->buffer().isReadonly()
                           && !m->isEmpty()
-                          && inset->insetAllowed(FLEX_CODE));
+                          && !d->func_requests_.empty()
+                          && 
lyx::getStatus(d->func_requests_.front()).enabled());
        } else if (menutype == "textstyle-apply") {
                m->clear();
                setPopupMode(QToolButton::MenuButtonPopup);
@@ -497,6 +500,7 @@ void DynamicMenuButton::loadFlexInsets()
 {
        QMenu * m = menu();
        m->clear();
+       d->func_requests_.clear();
        string const & menutype = tbitem_.name;
        InsetLyXType ftype;
        if (menutype == "dynamic-custom-insets")
@@ -523,6 +527,7 @@ void DynamicMenuButton::loadFlexInsets()
                Action * act = 
                                new Action(func, getIcon(func, false), 
loc_item, loc_item, this);
                m->addAction(act);
+               d->func_requests_.push_back(func);
        }
 }
 
-- 
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to