X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetLabel.cpp;h=789a774ac6b993ecc2114cf9091c3ad56ecdb913;hb=9da29ac7884158580a01f068952adef73ae11883;hp=9171cd1e362a96fd08d21be87b05cefa6b9e76db;hpb=d5a5fbb8ee87d4a8ae1c55f9ba72819251bb6fb7;p=lyx.git diff --git a/src/insets/InsetLabel.cpp b/src/insets/InsetLabel.cpp index 9171cd1e36..789a774ac6 100644 --- a/src/insets/InsetLabel.cpp +++ b/src/insets/InsetLabel.cpp @@ -109,11 +109,13 @@ void InsetLabel::updateLabelAndRefs(docstring const & new_label, void InsetLabel::updateReferences(docstring const & old_label, docstring const & new_label) { + UndoGroupHelper ugh; Buffer::References const & refs = buffer().references(old_label); Buffer::References::const_iterator it = refs.begin(); Buffer::References::const_iterator end = refs.end(); for (; it != end; ++it) { - buffer().undo().recordUndo(CursorData(it->second)); + ugh.resetBuffer(it->second.buffer()); + it->second.buffer()->undo().recordUndo(CursorData(it->second)); if (it->first->lyxCode() == MATH_REF_CODE) { InsetMathRef * mi = it->first->asInsetMath()->asRefInset(); mi->changeTarget(new_label); @@ -154,7 +156,7 @@ void InsetLabel::updateBuffer(ParIterator const & par, UpdateType utype) if (utype == OutputUpdate) { // save info on the active counter - Counters const & cnts = + Counters const & cnts = buffer().masterBuffer()->params().documentClass().counters(); active_counter_ = cnts.currentCounter(); Language const * lang = par->getParLanguage(buffer().params()); @@ -170,10 +172,10 @@ void InsetLabel::updateBuffer(ParIterator const & par, UpdateType utype) void InsetLabel::addToToc(DocIterator const & cpit, bool output_active, - UpdateType) const + UpdateType, TocBackend & backend) const { docstring const & label = getParam("name"); - shared_ptr toc = buffer().tocBackend().toc("label"); + shared_ptr toc = backend.toc("label"); if (buffer().insetLabel(label) != this) { toc->push_back(TocItem(cpit, 0, screen_label_, output_active)); } else { @@ -212,6 +214,8 @@ bool InsetLabel::getStatus(Cursor & cur, FuncRequest const & cmd, enabled = false; break; } + // no "changetype": + // fall through default: return InsetCommand::getStatus(cur, cmd, status); } @@ -292,11 +296,11 @@ docstring InsetLabel::xhtml(XHTMLStream & xs, OutputParams const &) const { // FIXME XHTML // Unfortunately, the name attribute has been deprecated, so we have to use - // id here to get the document to validate as XHTML 1.1. This will cause a + // id here to get the document to validate as XHTML 1.1. This will cause a // problem with some browsers, though, I'm sure. (Guess which!) So we will - // have to figure out what to do about this later. - string const attr = "id=\"" + html::cleanAttr(to_utf8(getParam("name"))) + "\""; - xs << html::CompTag("a", attr); + // have to figure out what to do about this later. + docstring const attr = "id=\"" + html::cleanAttr(getParam("name")) + '"'; + xs << html::CompTag("a", to_utf8(attr)); return docstring(); }