ooo-build r15081 - in branches/ooo-build-3-0-1: . patches/dev300



Author: kyoshida
Date: Thu Jan 15 20:45:15 2009
New Revision: 15081
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15081&view=rev

Log:
2009-01-15  Kohei Yoshida  <kyoshida novell com>

	* patches/dev300/calc-formula-datevalue-strip-time.diff:
	* patches/dev300/apply: ported from trunk.


Added:
   branches/ooo-build-3-0-1/patches/dev300/calc-formula-datevalue-strip-time.diff
Modified:
   branches/ooo-build-3-0-1/ChangeLog
   branches/ooo-build-3-0-1/patches/dev300/apply

Modified: branches/ooo-build-3-0-1/patches/dev300/apply
==============================================================================
--- branches/ooo-build-3-0-1/patches/dev300/apply	(original)
+++ branches/ooo-build-3-0-1/patches/dev300/apply	Thu Jan 15 20:45:15 2009
@@ -1813,6 +1813,9 @@
 # fix 'Identify Categories' greakage on grouping.
 calc-dp-group-ident-category-fix.diff, n#447182, i#96171, kohei
 
+# strip the fraction part of a date-time value when using DATEVALUE.
+calc-formula-datevalue-strip-time.diff, i#94765, kohei
+
 [ CalcExperimental ]
 
 # Implement external range names.

Added: branches/ooo-build-3-0-1/patches/dev300/calc-formula-datevalue-strip-time.diff
==============================================================================
--- (empty file)
+++ branches/ooo-build-3-0-1/patches/dev300/calc-formula-datevalue-strip-time.diff	Thu Jan 15 20:45:15 2009
@@ -0,0 +1,26 @@
+diff --git sc/source/core/tool/interpr2.cxx sc/source/core/tool/interpr2.cxx
+index 3dc3096..17ee3a4 100644
+--- sc/source/core/tool/interpr2.cxx
++++ sc/source/core/tool/interpr2.cxx
+@@ -171,7 +171,7 @@ void ScInterpreter::ScGetDateValue()
+     {
+         short eType = pFormatter->GetType(nFIndex);
+         if (eType == NUMBERFORMAT_DATE || eType == NUMBERFORMAT_DATETIME)
+-            PushDouble(fVal);
++            PushDouble(::rtl::math::approxFloor(fVal));
+         else
+             PushIllegalArgument();
+     }
+@@ -390,7 +390,11 @@ void ScInterpreter::ScGetTimeValue()
+     {
+         short eType = pFormatter->GetType(nFIndex);
+         if (eType == NUMBERFORMAT_TIME || eType == NUMBERFORMAT_DATETIME)
+-            PushDouble(fVal);
++        {
++            double fDateVal = rtl::math::approxFloor(fVal);
++            double fTimeVal = fVal - fDateVal;
++            PushDouble(fTimeVal);
++        }
+         else
+             PushIllegalArgument();
+     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]