X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_nestinset.C;h=79d058907e3ce0f105bca9010f9d95b3ddebe3d4;hb=183239b7def8ca0e51432f2d88891d4b9f055953;hp=3b82d0e65c73d126dd2e4c5dd3259ed6f226aa7d;hpb=6cb284c7275815eaa4869c200ad0e47a2feb0d63;p=lyx.git diff --git a/src/mathed/math_nestinset.C b/src/mathed/math_nestinset.C index 3b82d0e65c..79d058907e 100644 --- a/src/mathed/math_nestinset.C +++ b/src/mathed/math_nestinset.C @@ -380,7 +380,7 @@ void MathNestInset::handleFont2(LCursor & cur, string const & arg) } -void MathNestInset::priv_dispatch(LCursor & cur, FuncRequest & cmd) +void MathNestInset::doDispatch(LCursor & cur, FuncRequest & cmd) { //lyxerr << "MathNestInset: request: " << cmd << std::endl; //CursorSlice sl = cur.current(); @@ -392,7 +392,7 @@ void MathNestInset::priv_dispatch(LCursor & cur, FuncRequest & cmd) cur.message(_("Paste")); replaceSelection(cur); size_t n = 0; - istringstream is(cmd.argument.c_str()); + istringstream is(cmd.argument); is >> n; pasteSelection(cur, n); cur.clearSelection(); // bug 393 @@ -612,7 +612,7 @@ void MathNestInset::priv_dispatch(LCursor & cur, FuncRequest & cmd) lyxerr << "LFUN_SETXY broken!" << endl; int x = 0; int y = 0; - istringstream is(cmd.argument.c_str()); + istringstream is(cmd.argument); is >> x >> y; cur.setScreenPos(x, y); break; @@ -684,6 +684,9 @@ void MathNestInset::priv_dispatch(LCursor & cur, FuncRequest & cmd) case LFUN_MATH_MODE: #if 1 + // ignore math-mode on when already in math mode + if (currentMode() == InsetBase::MATH_MODE && cmd.argument == "on") + break; cur.macroModeClose(); selClearOrDel(cur); cur.plainInsert(MathAtom(new MathMBoxInset(cur.bv()))); @@ -791,7 +794,7 @@ void MathNestInset::priv_dispatch(LCursor & cur, FuncRequest & cmd) } default: - MathDimInset::priv_dispatch(cur, cmd); + MathDimInset::doDispatch(cur, cmd); break; } } @@ -927,7 +930,7 @@ void MathNestInset::lfunMouseMotion(LCursor & cur, FuncRequest & cmd) if (cmd.button() == mouse_button::button1) { LCursor & bvcur = cur.bv().cursor(); if (abs(cmd.x - first_x) + abs(cmd.y - first_y) > 4 - && cur.size() <= bvcur.anchor_.size()) { + && bvcur.anchor_.hasPart(cur)) { first_x = cmd.x; first_y = cmd.y;