sc: improve keeping track of sparklines in SparklineList

Desktop / LibreOffice - Tomaž Vajngerl [collabora.co.uk] - 7 April 2022 08:35 UTC

Issues can happen when saving a document with sparklines where a sparkline is deleted and then undo-ed. The reason for this is because the SparlineList wasn't correctly updated when deleting, copying or adding sparklines. This change adds hooks when new sparklines are created or when sparklines are deleted to report this into SparlineList.

SparklineList garbage-collects itself but this is not enough when we rely that the non-deleted weak pointers to the sparkline groups contain the correct non-deleted weak pointers to the correct sparklines.

Change-Id: I976cbe7e6168813d3dd5089c036cc7fe4e357fb2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132554

93d7fbf73f8b sc: improve keeping track of sparklines in SparklineList
sc/inc/SparklineList.hxx | 1 +
sc/qa/unit/SparklineTest.cxx | 114 +++++++++++++++++++++++-------
sc/source/core/data/column2.cxx | 38 +++++++++-
sc/source/core/data/table2.cxx | 2 +-
sc/source/ui/sparklines/SparklineList.cxx | 24 +++++++
5 files changed, 151 insertions(+), 28 deletions(-)

Upstream: cgit.freedesktop.org


  • Share