Fix crash when inserting label before label in change tracking mode

This commit is contained in:
Juergen Spitzmueller 2022-12-05 11:15:58 +01:00
parent 6c904004b6
commit 4d337e78ab
2 changed files with 6 additions and 5 deletions

View File

@ -99,7 +99,8 @@ void InsetLabel::updateLabelAndRefs(docstring const & new_label,
UndoGroupHelper ugh(&buffer());
if (cursor)
cursor->recordUndo();
if (buffer().masterParams().track_changes) {
bool const changes = buffer().masterParams().track_changes;
if (changes) {
// With change tracking, we insert a new label and
// delete the old one
InsetCommandParams p(LABEL_CODE, "label");
@ -109,15 +110,15 @@ void InsetLabel::updateLabelAndRefs(docstring const & new_label,
lyx::dispatch(FuncRequest(LFUN_CHAR_DELETE_FORWARD));
} else
setParam("name", label);
updateReferences(old_label, label);
updateReferences(old_label, label, changes);
}
void InsetLabel::updateReferences(docstring const & old_label,
docstring const & new_label)
docstring const & new_label, bool const changes)
{
UndoGroupHelper ugh(nullptr);
if (buffer().masterParams().track_changes) {
if (changes) {
// With change tracking, we insert a new ref and
// delete the old one
lyx::dispatch(FuncRequest(LFUN_MASTER_BUFFER_FORALL,

View File

@ -98,7 +98,7 @@ private:
void uniqueLabel(docstring & label) const;
///
void updateReferences(docstring const & old_label,
docstring const & new_label);
docstring const & new_label, bool const changes);
///
docstring screen_label_;
///