diff --git a/src/mathed/ChangeLog b/src/mathed/ChangeLog index 188687bebd..042e312e9b 100644 --- a/src/mathed/ChangeLog +++ b/src/mathed/ChangeLog @@ -1,3 +1,8 @@ +2006-03-11 Martin Vermeer + + * math_scriptinset.C (notifyCursorLeaves): Fix to bug 2362: Deleting + superscript also deletes subscript + 2006-02-28 Martin Vermeer * math_nestinset.C (doDispatch): fix (properly) insertion of diff --git a/src/mathed/math_scriptinset.C b/src/mathed/math_scriptinset.C index fc6f7601f1..573072c28d 100644 --- a/src/mathed/math_scriptinset.C +++ b/src/mathed/math_scriptinset.C @@ -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; }