commit a58bcf1d277e6a2d08dc2a83cf0503beceb0e7dd
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Mon Sep 7 12:13:42 2020 +0200

    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.
---
 src/mathed/InsetMathMacro.cpp |   17 ++++++++++++++++-
 src/mathed/InsetMathMacro.h   |    7 ++-----
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/mathed/InsetMathMacro.cpp b/src/mathed/InsetMathMacro.cpp
index 1443181..bf363b6 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 9a4bcc9..4332148 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;
@@ -195,9 +195,6 @@ private:
        bool editMode(BufferView const * bv) const;
 
        ///
-       Limits limits_ = AUTO_LIMITS;
-
-       ///
        class Private;
        ///
        Private * d;
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to