[LyX/master] Fixup f96b99dcb35: read correctly \limits after macros
Jean-Marc Lasgouttes
lasgouttes at lyx.org
Mon Sep 7 09:49:37 UTC 2020
commit a58bcf1d277e6a2d08dc2a83cf0503beceb0e7dd
Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
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;
More information about the lyx-cvs
mailing list