summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/inc/dpitemdata.hxx1
-rw-r--r--sc/source/core/data/dpcache.cxx2
-rw-r--r--sc/source/core/data/dpitemdata.cxx6
3 files changed, 9 insertions, 0 deletions
diff --git a/sc/inc/dpitemdata.hxx b/sc/inc/dpitemdata.hxx
index 46642a95af13..c58584638f9f 100644
--- a/sc/inc/dpitemdata.hxx
+++ b/sc/inc/dpitemdata.hxx
@@ -91,6 +91,7 @@ public:
~ScDPItemData();
Type GetType() const;
+ void SetEmpty();
void SetString(const rtl::OUString& rS);
void SetString(const rtl::OUString* pS);
void SetValue(double fVal);
diff --git a/sc/source/core/data/dpcache.cxx b/sc/source/core/data/dpcache.cxx
index 6908163a215f..2d2a0a3ddbe7 100644
--- a/sc/source/core/data/dpcache.cxx
+++ b/sc/source/core/data/dpcache.cxx
@@ -161,6 +161,8 @@ void initFromCell(
{
rData.SetString(rCache.InternString(aDocStr));
}
+ else
+ rData.SetEmpty();
}
void getItemValue(
diff --git a/sc/source/core/data/dpitemdata.cxx b/sc/source/core/data/dpitemdata.cxx
index 1bcc3a6ecb9a..1641572f087e 100644
--- a/sc/source/core/data/dpitemdata.cxx
+++ b/sc/source/core/data/dpitemdata.cxx
@@ -138,6 +138,12 @@ ScDPItemData::Type ScDPItemData::GetType() const
return static_cast<Type>(meType);
}
+void ScDPItemData::SetEmpty()
+{
+ DisposeString();
+ meType = Empty;
+}
+
void ScDPItemData::SetString(const rtl::OUString& rS)
{
DisposeString();