summaryrefslogtreecommitdiff
path: root/forms/source
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2024-10-20 22:51:02 +0500
committerMike Kaganski <mike.kaganski@collabora.com>2024-10-21 10:30:58 +0200
commit7e5f69aa33509a359b547b9a4a6569a55cd5d5c9 (patch)
treed5956d0364044238979ef22319259d8c4a97b46f /forms/source
parent04921e20b4d3d08a4b78dbafe26c983075fe5630 (diff)
Make tools::Time ctor taking sal_Int64 private
This ctor is meant to set the value of nTime directly; and that value is not nanoseconds, but an encoded value, using SEC_/MIN_/HOUR_MASK. But in some places, this ctor was misused for setting of nanoseconds, which would only accidentally work for values less than one second. All places that initialized tools::Time with 0, now use EMPTY. This makes the ctor private; and for the very few cases where really the encoded value of nTime is stored / restored, fromEncodedTime is introduced. Change-Id: I1f1994bd9aab1b51a41b1de637619049fe820da4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175283 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'forms/source')
-rw-r--r--forms/source/component/DatabaseForm.cxx4
-rw-r--r--forms/source/component/EditBase.cxx2
2 files changed, 4 insertions, 2 deletions
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index f32b95a4c482..ce12e1c4f184 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -721,7 +721,9 @@ void ODatabaseForm::AppendComponent(HtmlSuccessfulObjList& rList, const Referenc
sal_Int32 nInt32Val = 0;
if (aVal >>= nInt32Val)
{
- ::tools::Time aTime(nInt32Val);
+ // Is this 32-bit number actually encoded time? Or should rather
+ // Time::MakeTimeFromNS be used here?
+ ::tools::Time aTime(tools::Time::fromEncodedTime(nInt32Val));
OUStringBuffer aBuffer;
appendDigits( aTime.GetHour(), 2, aBuffer );
aBuffer.append( '-' );
diff --git a/forms/source/component/EditBase.cxx b/forms/source/component/EditBase.cxx
index faf27cf3f0f7..251c54b147c3 100644
--- a/forms/source/component/EditBase.cxx
+++ b/forms/source/component/EditBase.cxx
@@ -185,7 +185,7 @@ void OEditBaseModel::read(const Reference<XObjectInputStream>& _rxInStream)
}
else if ((nAnyMask & DEFAULT_TIME) == DEFAULT_TIME)
{
- m_aDefault <<= ::tools::Time(_rxInStream->readHyper()).GetUNOTime();
+ m_aDefault <<= ::tools::Time::fromEncodedTime(_rxInStream->readHyper()).GetUNOTime();
}
else if ((nAnyMask & DEFAULT_DATE) == DEFAULT_DATE)
{