fdo#70198: sw: don't truncate Time values on 32bit platforms

SwDoc::SetFixFields() uses sal_uLong to store Time.GetTime() which needs
64 bits.

Also fix same problem on Time fields in HTML import.

(regression from 9830fd36db)

Change-Id: I5d0388cbc364e1f9dfb60ff9e83c7d2f101c69d8
This commit is contained in:
Michael Stahl
2013-12-10 15:28:52 +01:00
parent 3414013984
commit 17dab5bf8e
2 changed files with 5 additions and 3 deletions
+2 -1
View File
@@ -1986,7 +1986,8 @@ void SwDoc::SetFixFields( bool bOnlyTimeDate, const DateTime* pNewDateTime )
{
sal_Bool bIsModified = IsModified();
sal_uLong nDate, nTime;
sal_Int32 nDate;
sal_Int64 nTime;
if( pNewDateTime )
{
nDate = pNewDateTime->GetDate();
+3 -2
View File
@@ -327,7 +327,8 @@ void SwHTMLParser::NewField()
case RES_TIMEFLD:
{
sal_uLong nNumFmt = 0;
sal_uLong nTime = Time( Time::SYSTEM ).GetTime(), nDate = Date( Date::SYSTEM ).GetDate();
sal_Int64 nTime = Time( Time::SYSTEM ).GetTime();
sal_Int32 nDate = Date( Date::SYSTEM ).GetDate();
sal_uInt16 nSub = 0;
sal_Bool bValidFmt = sal_False;
HTMLNumFmtTblEntry * pFmtTbl;
@@ -337,7 +338,7 @@ void SwHTMLParser::NewField()
nSub = DATEFLD;
pFmtTbl = aHTMLDateFldFmtTable;
if( !aValue.isEmpty() )
nDate = (sal_uLong)aValue.toInt32();
nDate = aValue.toInt32();
}
else
{