Bug 248075 fix problem with date and +/- buttons
Change-Id: I5e9e32caaf5b3a176f2fec3b210e6882f1ff2f3f
Signed-off-by: laeubi <laeubi@laeubi-soft.de>
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
index 0e9f9b1..880d4ee 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
@@ -1858,9 +1858,8 @@
int adj_value = (int) GTK.gtk_adjustment_get_value(GTK.gtk_spin_button_get_adjustment(widget));
int new_value = 0;
if (isDate()) {
- // getMonth () return 0 as first month and 11 as last one, whereas adjustment
- // does not, so adding one makes them comparable
- new_value = getMonth() + 1;
+ FieldPosition firstField = getNextField(null);
+ new_value = calendar.get(getCalendarField(firstField));
} else if (isTime()) {
new_value = getHours();
if (hasAmPm()) {
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet370.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet370.java
index e862d18..e4fd0bf 100644
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet370.java
+++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet370.java
@@ -49,6 +49,7 @@
composite.setLayout(new RowLayout(SWT.HORIZONTAL));
new Label(composite, SWT.NONE).setText(locale.toLanguageTag());
new DateTime(composite, SWT.DROP_DOWN);
+ new DateTime(composite, SWT.SHORT);
new DateTime(composite, SWT.TIME);
}
}