Skip to content

Commit c311bab

Browse files
authored
Keep the label of a variable in expression on spreadsheet alias rename (FreeCAD#10222)
Fixes FreeCAD#5800
1 parent fcbee3a commit c311bab

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/App/Expression.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3034,10 +3034,18 @@ bool VariableExpression::_renameObjectIdentifier(
30343034
auto it = paths.find(oldPath);
30353035
if (it != paths.end()) {
30363036
v.aboutToChange();
3037+
const bool originalHasDocumentObjectName = var.hasDocumentObjectName();
3038+
ObjectIdentifier::String originalDocumentObjectName = var.getDocumentObjectName();
3039+
std::string originalSubObjectName = var.getSubObjectName();
30373040
if(path.getOwner())
30383041
var = it->second.relativeTo(path);
30393042
else
30403043
var = it->second;
3044+
if (originalHasDocumentObjectName) {
3045+
var.setDocumentObjectName(std::move(originalDocumentObjectName),
3046+
true,
3047+
std::move(originalSubObjectName));
3048+
}
30413049
return true;
30423050
}
30433051
return false;

0 commit comments

Comments
 (0)