]> git.lyx.org Git - features.git/commitdiff
Fix to bug 2362: Deleting superscript also deletes subscript.
authorMartin Vermeer <martin.vermeer@hut.fi>
Sat, 11 Mar 2006 16:34:52 +0000 (16:34 +0000)
committerMartin Vermeer <martin.vermeer@hut.fi>
Sat, 11 Mar 2006 16:34:52 +0000 (16:34 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13342 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/ChangeLog
src/mathed/math_scriptinset.C

index 188687bebd3a5227605b53dcbaaaacb749d23ecc..042e312e9b822c25952172f2842273a9df859e29 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-11  Martin Vermeer  <martin.vermeer@hut.fi>
+
+       * math_scriptinset.C (notifyCursorLeaves): Fix to bug 2362: Deleting
+       superscript also deletes subscript
+
 2006-02-28  Martin Vermeer  <martin.vermeer@hut.fi>
 
        * math_nestinset.C (doDispatch): fix (properly) insertion of
index fc6f7601f1f5371bbf532116b5662f934f309867..573072c28d07ab2a7f32cf3f542c1ea6fc980cc4 100644 (file)
@@ -559,15 +559,19 @@ void MathScriptInset::notifyCursorLeaves(LCursor & cur)
        //lyxerr << "MathScriptInset::notifyCursorLeaves: 1 " << cur << endl;
 
        // remove empty scripts if possible
-if (1) {
-       if (nargs() > 2 && cur.idx() == 2 && cell(2).empty()) {
-               // must be a subscript...
-               removeScript(false);
+       if (nargs() > 2) {
+               // Case of two scripts. In this case, 1 = super, 2 = sub
+               if (cur.idx() == 2 && cell(2).empty()) {
+                       // must be a subscript...
+                       removeScript(false);
+               } else if (cur.idx() == 1 && cell(1).empty()) {
+                       // must be a superscript...
+                       removeScript(true);
+               }
        } else if (nargs() > 1 && cur.idx() == 1 && cell(1).empty()) {
                // could be either subscript or super script
                removeScript(cell_1_is_up_);
        }
-}
 
        //lyxerr << "MathScriptInset::notifyCursorLeaves: 2 " << cur << endl;
 }