summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2007-04-13 11:47:12 +0000
committerGary Benson <gbenson@redhat.com>2007-04-13 11:47:12 +0000
commit67b124824e8154daeecd44371b3fd3d0cead9563 (patch)
tree536784820091dd4a226ba9bf2b371af64978140d
parent304e22de20622b7ac3bedbc1cc90e4bb653aad5d (diff)
downloadclasspath-67b124824e8154daeecd44371b3fd3d0cead9563.tar.gz
2007-04-13 Gary Benson <gbenson@redhat.com>
* java/util/Calendar.java (complete): Reorder, and set isTimeSet. * java/util/GregorianCalendar.java (computeTime): Do not set isTimeSet.
-rw-r--r--ChangeLog7
-rw-r--r--java/util/Calendar.java17
-rw-r--r--java/util/GregorianCalendar.java2
3 files changed, 20 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 5e5236feb..3ba8c2c4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,13 @@
2007-04-13 Gary Benson <gbenson@redhat.com>
* java/util/Calendar.java
+ (complete): Reorder, and set isTimeSet.
+ * java/util/GregorianCalendar.java
+ (computeTime): Do not set isTimeSet.
+
+2007-04-13 Gary Benson <gbenson@redhat.com>
+
+ * java/util/Calendar.java
(setTimeZone): Don't recalculate anything, just invalidate
the fields.
diff --git a/java/util/Calendar.java b/java/util/Calendar.java
index 3e4fd8a34..c426eb5e5 100644
--- a/java/util/Calendar.java
+++ b/java/util/Calendar.java
@@ -951,10 +951,19 @@ public abstract class Calendar
*/
protected void complete()
{
- if (! isTimeSet)
- computeTime();
- if (! areFieldsSet)
- computeFields();
+ // computeFields() sets areFieldsSet, but computeTime()
+ // does not set isTimeSet. This seems odd, but it's what
+ // Sun's implementation does.
+ if (!isTimeSet)
+ {
+ computeTime();
+ isTimeSet = true;
+ computeFields();
+ }
+ else if (!areFieldsSet)
+ {
+ computeFields();
+ }
}
/**
diff --git a/java/util/GregorianCalendar.java b/java/util/GregorianCalendar.java
index 8086b2286..8cfadc3d4 100644
--- a/java/util/GregorianCalendar.java
+++ b/java/util/GregorianCalendar.java
@@ -723,8 +723,6 @@ public class GregorianCalendar extends Calendar
- zone.getRawOffset());
time -= rawOffset + dstOffset;
-
- isTimeSet = true;
}
/**