From: Jean-Marc Lasgouttes Date: Tue, 19 Jul 2022 10:31:50 +0000 (+0200) Subject: Disable flex-insert when inset does not exist X-Git-Tag: 2.4-beta2~569 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=cd8338636395d;p=lyx.git Disable flex-insert when inset does not exist This is useful when adding icons to the toolbar that insert insets not availble by default (but provided by a module). Fixes bug #11690. --- diff --git a/src/Text3.cpp b/src/Text3.cpp index 5bfde06679..7422bea312 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -3183,13 +3183,17 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd, case LFUN_FLEX_INSERT: { code = FLEX_CODE; string s = cmd.getArg(0); - InsetLayout il = - cur.buffer()->params().documentClass().insetLayout(from_utf8(s)); - if (il.lyxtype() != InsetLyXType::CHARSTYLE && - il.lyxtype() != InsetLyXType::CUSTOM && - il.lyxtype ()!= InsetLyXType::STANDARD) + if (!cur.buffer()->params().documentClass().hasInsetLayout(from_utf8(s))) enable = false; - break; + else { + InsetLayout il = + cur.buffer()->params().documentClass().insetLayout(from_utf8(s)); + if (il.lyxtype() != InsetLyXType::CHARSTYLE && + il.lyxtype() != InsetLyXType::CUSTOM && + il.lyxtype ()!= InsetLyXType::STANDARD) + enable = false; + } + break; } case LFUN_BOX_INSERT: code = BOX_CODE;