]> git.lyx.org Git - features.git/commitdiff
Don't create nested math hulls (fixes bug #5392).
authorEnrico Forestieri <forenr@lyx.org>
Sat, 9 May 2009 21:15:36 +0000 (21:15 +0000)
committerEnrico Forestieri <forenr@lyx.org>
Sat, 9 May 2009 21:15:36 +0000 (21:15 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29599 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/MathParser.cpp

index 757458cc88329a83cafe70db7ba35576578675b9..36be12c2ec94a29a5c4508013c7016e45af82b96 100644 (file)
@@ -46,6 +46,7 @@ following hack as starting point to write some macros:
 #include "InsetMathColor.h"
 #include "InsetMathComment.h"
 #include "InsetMathDelim.h"
+#include "InsetMathEnsureMath.h"
 #include "InsetMathEnv.h"
 #include "InsetMathFrac.h"
 #include "InsetMathKern.h"
@@ -804,8 +805,14 @@ bool Parser::parse1(InsetMathGrid & grid, unsigned flags,
                                } else {
                                        // simple $...$  stuff
                                        putback();
-                                       cell->push_back(MathAtom(new InsetMathHull(hullSimple)));
-                                       parse2(cell->back(), FLAG_SIMPLE, InsetMath::MATH_MODE, false);
+                                       if (mode == InsetMath::UNDECIDED_MODE) {
+                                               cell->push_back(MathAtom(new InsetMathHull(hullSimple)));
+                                               parse2(cell->back(), FLAG_SIMPLE, InsetMath::MATH_MODE, false);
+                                       } else {
+                                               // Don't create nested math hulls (bug #5392)
+                                               cell->push_back(MathAtom(new InsetMathEnsureMath));
+                                               parse(cell->back().nucleus()->cell(0), FLAG_SIMPLE, InsetMath::MATH_MODE);
+                                       }
                                }
                        }