From 3a69c926b58495b96d95dcda3cc3fc12721f2652 Mon Sep 17 00:00:00 2001 From: Eivind Kvedalen Date: Tue, 23 Jun 2015 19:15:34 +0200 Subject: [PATCH] Spreadsheet: Fixed bug in dependency tracking between objects. --- src/Mod/Spreadsheet/App/Sheet.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Mod/Spreadsheet/App/Sheet.cpp b/src/Mod/Spreadsheet/App/Sheet.cpp index d2a44dd0954a..86d700205411 100644 --- a/src/Mod/Spreadsheet/App/Sheet.cpp +++ b/src/Mod/Spreadsheet/App/Sheet.cpp @@ -856,6 +856,15 @@ void Sheet::clear(CellAddress address, bool all) cells.clear(address); + // Update dependencies + std::set ds(cells.getDocDeps()); + + // Make sure we don't reference ourselves + ds.erase(this); + + std::vector dv(ds.begin(), ds.end()); + docDeps.setValues(dv); + propAddress.erase(prop); props.removeDynamicProperty(addr.c_str()); }