From c311bab053c5044ebb7a17fbfedd6e71ada6927f Mon Sep 17 00:00:00 2001 From: Djuro Drljaca Date: Thu, 17 Aug 2023 04:35:58 +0200 Subject: [PATCH] Keep the label of a variable in expression on spreadsheet alias rename (#10222) Fixes #5800 --- src/App/Expression.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/App/Expression.cpp b/src/App/Expression.cpp index 8ccc28934b..339c6821bf 100644 --- a/src/App/Expression.cpp +++ b/src/App/Expression.cpp @@ -3034,10 +3034,18 @@ bool VariableExpression::_renameObjectIdentifier( auto it = paths.find(oldPath); if (it != paths.end()) { v.aboutToChange(); + const bool originalHasDocumentObjectName = var.hasDocumentObjectName(); + ObjectIdentifier::String originalDocumentObjectName = var.getDocumentObjectName(); + std::string originalSubObjectName = var.getSubObjectName(); if(path.getOwner()) var = it->second.relativeTo(path); else var = it->second; + if (originalHasDocumentObjectName) { + var.setDocumentObjectName(std::move(originalDocumentObjectName), + true, + std::move(originalSubObjectName)); + } return true; } return false;