diff --git a/src/Cursor.cpp b/src/Cursor.cpp index 05dfc5b9d3..33a6ca0f06 100644 --- a/src/Cursor.cpp +++ b/src/Cursor.cpp @@ -986,6 +986,8 @@ void Cursor::plainInsert(MathAtom const & t) { cell().insert(pos(), t); ++pos(); + inset().setBuffer(bv_->buffer()); + inset().validate(); } @@ -1024,10 +1026,11 @@ void Cursor::insert(Inset * inset0) BOOST_ASSERT(inset0); if (inMathed()) insert(MathAtom(inset0)); - else + else { text()->insertInset(*this, inset0); - inset().setBuffer(bv_->buffer()); - inset().validate(); + inset0->setBuffer(bv_->buffer()); + inset0->validate(); + } } diff --git a/src/Text3.cpp b/src/Text3.cpp index f6be355a41..c72e470333 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -854,7 +854,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) */ if (cur.selection()) cutSelection(cur, true, false); - insertInset(cur, inset); + cur.insert(inset); cur.posForward(); } break;