summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2022-10-28 13:04:00 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2022-10-30 10:00:34 +0100
commit78b220105cf720590807bc8b509bdeff1743e838 (patch)
treed12d15b97e40dfc198d9c7385fedcdab3c25a7e8 /vcl
parenta2d13341db6177adbb808d8ff450bdcc85a55325 (diff)
lok: You can't assume that destroyView would only destroy one view
In case you have some in-place clients (e.g., Math in-place editing is active), destroying the parent view would also destroy children, and then both numberOfViewsChanged (called from doc_destroyView) must tolerate 0 as a valid input, and lok_doc_view_destroy must make sure to destroy the document after the last views had gone. Change-Id: I32370fea49da0969e1fbbf971a397c4d657ec8f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141963 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins (cherry picked from commit 616e95c7044e8ea4fe3396dfa22c4ef7e9d4cd32) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141917 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/app/svapp.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index ec66f82d9de6..3579787cacf8 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1791,6 +1791,8 @@ bool isUnipoll()
void numberOfViewsChanged(int count)
{
+ if (count == 0)
+ return;
ImplSVData * pSVData = ImplGetSVData();
auto& rCache = pSVData->maGDIData.maScaleCache;
// Normally the cache size is set to 10, scale according to the number of users.