From 6e3e2ae19b132e8974438ac2dea46c2dd107788c Mon Sep 17 00:00:00 2001 From: Abdelrazak Younes Date: Tue, 4 Mar 2008 12:43:20 +0000 Subject: [PATCH] InsetMathHull: LFUN_INSET_INSERT: Fix label insertion git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23437 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/mathed/InsetMathHull.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp index c5ecd92a2c..cd2d5c42cc 100644 --- a/src/mathed/InsetMathHull.cpp +++ b/src/mathed/InsetMathHull.cpp @@ -1176,6 +1176,7 @@ void InsetMathHull::doDispatch(Cursor & cur, FuncRequest & cmd) case LFUN_INSET_INSERT: { //lyxerr << "arg: " << to_utf8(cmd.argument()) << endl; + // FIXME: this should be cleaned up to use InsetLabel methods directly. string const name = cmd.getArg(0); if (name == "label") { InsetCommandParams p(LABEL_CODE); @@ -1188,9 +1189,14 @@ void InsetMathHull::doDispatch(Cursor & cur, FuncRequest & cmd) numbered(r, true); docstring old = label(r); if (str != old) { - cur.bv().buffer().changeRefsIfUnique(old, str, - REF_CODE); - label(r, str); + if (label_[r]) + // The label will take care of the reference update. + label(r, str); + else { + label(r, str); + // Newly created inset so initialize it. + label_[r]->initView(); + } } break; }