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);
 	}
 }