summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java2
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java5
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java5
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java5
4 files changed, 10 insertions, 7 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java
index 3229ed1a9a..080b63bd12 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java
@@ -154,7 +154,7 @@ void releaseWidget () {
*/
public void setMaximum (int maximum) {
checkWidget ();
- if (maximum < 0 || maximum <= min) return;
+ if (maximum <= min) return;
max = maximum;
if (value > maximum) value = maximum;
updateBar (value, min, max);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java
index bae15016c0..41b06d67aa 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java
@@ -312,10 +312,10 @@ public void setIncrement (int value) {
*/
public void setMaximum (int value) {
checkWidget ();
- if (value < 0 || value <= getMinimum()) return;
int hAdjustment = OS.gtk_range_get_adjustment (handle);
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
+ if (value <= adjustment.lower) return;
adjustment.upper = (float) value;
OS.memmove (hAdjustment, adjustment);
OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
@@ -338,10 +338,11 @@ public void setMaximum (int value) {
*/
public void setMinimum (int value) {
checkWidget ();
- if (value < 0 || value >= getMaximum()) return;
+ if (value < 0) return;
int hAdjustment = OS.gtk_range_get_adjustment (handle);
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
+ if (value >= adjustment.upper) return;
adjustment.lower = (float) value;
OS.memmove (hAdjustment, adjustment);
OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
index 03cfe2c950..69bace2810 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
@@ -495,9 +495,9 @@ public void setIncrement (int value) {
*/
public void setMaximum (int value) {
checkWidget ();
- if (value < 0 || value <= getMinimum()) return;
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, handle);
+ if (value <= adjustment.lower) return;
adjustment.upper = (float) value;
OS.memmove (handle, adjustment);
OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
@@ -520,9 +520,10 @@ public void setMaximum (int value) {
*/
public void setMinimum (int value) {
checkWidget ();
- if (value < 0 || value >= getMaximum()) return;
+ if (value < 0) return;
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, handle);
+ if (value >= adjustment.upper) return;
adjustment.lower = (float) value;
OS.memmove (handle, adjustment);
OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java
index 3828407bb6..870650ab71 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java
@@ -372,10 +372,10 @@ public void setIncrement (int value) {
*/
public void setMaximum (int value) {
checkWidget ();
- if (value < 0 || value <= getMinimum()) return;
int hAdjustment = OS.gtk_range_get_adjustment (handle);
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
+ if (value <= adjustment.lower) return;
adjustment.upper = (double) value;
OS.memmove (hAdjustment, adjustment);
OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
@@ -398,10 +398,11 @@ public void setMaximum (int value) {
*/
public void setMinimum (int value) {
checkWidget ();
- if (value < 0 || value >= getMaximum()) return;
+ if (value < 0) return;
int hAdjustment = OS.gtk_range_get_adjustment (handle);
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
+ if (value >= adjustment.upper) return;
adjustment.lower = (double) value;
OS.memmove (hAdjustment, adjustment);
OS.g_signal_handlers_block_matched (hAdjustment, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);