From: Jean-Marc Lasgouttes Date: Mon, 7 Sep 2020 10:13:42 +0000 (+0200) Subject: Fixup f96b99dcb35: read correctly \limits after macros X-Git-Tag: lyx-2.4.0dev-acb2ca7b~222 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=a58bcf1d277e6a2d08dc2a83cf0503beceb0e7dd;p=features.git Fixup f96b99dcb35: read correctly \limits after macros Move InsetMacro::limits_ to InsetMacro::Private, where it should have been from the start. This means that limits_ is now copied when the macro is cloned. --- diff --git a/src/mathed/InsetMathMacro.cpp b/src/mathed/InsetMathMacro.cpp index 144318130a..bf363b61db 100644 --- a/src/mathed/InsetMathMacro.cpp +++ b/src/mathed/InsetMathMacro.cpp @@ -206,7 +206,7 @@ public: expanded_(buf), definition_(buf), attachedArgsNum_(0), optionals_(0), nextFoldMode_(true), macroBackup_(buf), macro_(0), needsUpdate_(false), isUpdating_(false), - appetite_(9), nesting_(0) + appetite_(9), nesting_(0), limits_(AUTO_LIMITS) { } /// Update the pointers to our owner of all expanded macros. @@ -248,6 +248,8 @@ public: size_t appetite_; /// Level of nesting in macros (including this one) int nesting_; + /// + Limits limits_; }; @@ -371,6 +373,7 @@ bool InsetMathMacro::addToMathRow(MathRow & mrow, MetricsInfo & mi) const return has_contents; } + /// Whether the inset allows \(no)limits bool InsetMathMacro::allowsLimitsChange() const { @@ -403,6 +406,18 @@ Limits InsetMathMacro::defaultLimits() const } +Limits InsetMathMacro::limits() const +{ + return d->limits_; +} + + +void InsetMathMacro::limits(Limits lim) +{ + d->limits_ = lim; +} + + void InsetMathMacro::beforeMetrics() const { d->macro_->lock(); diff --git a/src/mathed/InsetMathMacro.h b/src/mathed/InsetMathMacro.h index 9a4bcc929f..4332148bb9 100644 --- a/src/mathed/InsetMathMacro.h +++ b/src/mathed/InsetMathMacro.h @@ -47,9 +47,9 @@ public: /// The default limits value Limits defaultLimits() const; /// whether the inset has limit-like sub/superscript - Limits limits() const { return limits_; } + Limits limits() const; /// sets types of sub/superscripts - void limits(Limits lim) { limits_ = lim; } + void limits(Limits lim); /// void beforeMetrics() const; @@ -194,9 +194,6 @@ private: /// bool editMode(BufferView const * bv) const; - /// - Limits limits_ = AUTO_LIMITS; - /// class Private; ///