summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2020-07-25 14:21:33 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2020-07-25 14:37:17 +0200
commit592a02b2869aa04cb6d95cb3d491cd7c5455bd0a (patch)
tree942fcbfd8e582cf6b3d59c34565a2a75b503649d /sc
parent55f3a4595891a8cc22272225d1c82419f28d4ef9 (diff)
tdf#130559: don't export preview view data to ODS
... because trying to activate this view on load will throw and crash Unlike in Writer (SwPagePreview), Calc's ScPreviewShell overrides WriteUserDataSequence to export the view data. This was implemented in commit 1f51730f3c5b05c3afaa35431c925482e8152783. That does not give any clue why is this necessary, so I don't want to revert it. So to pass the flag to XViewDataSupplier::getViewData, this patch sets the flag in current context using comphelper::NewFlagContext. This allows to only skip providing the data conditionally. Change-Id: I95d70b30b0b8762d2b5c703c3e572064d0b2ef75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99441 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/view/prevwsh.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index dbb23ca68e42..86986ee99fb6 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -21,6 +21,7 @@
#include <scitems.hxx>
+#include <comphelper/SetFlagContextHelper.hxx>
#include <sfx2/app.hxx>
#include <editeng/sizeitem.hxx>
#include <svx/zoomslideritem.hxx>
@@ -916,6 +917,10 @@ void ScPreviewShell::ReadUserData(const OUString& rData, bool /* bBrowse */)
void ScPreviewShell::WriteUserDataSequence(uno::Sequence < beans::PropertyValue >& rSeq)
{
+ // tdf#130559: don't export preview view data if active
+ if (comphelper::IsContextFlagActive("NoPreviewData"))
+ return;
+
rSeq.realloc(3);
beans::PropertyValue* pSeq = rSeq.getArray();
sal_uInt16 nViewID(GetViewFrame()->GetCurViewId());