summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java24
1 files changed, 20 insertions, 4 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
index e69adb80a7..9b944e5b4e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
@@ -1750,7 +1750,11 @@ void gtk_widget_set_can_default (int /*long*/ widget, boolean can_default) {
if (OS.GTK_VERSION >= OS.VERSION (2, 18, 0)) {
OS.gtk_widget_set_can_default (widget, can_default);
} else {
- OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_CAN_DEFAULT);
+ if (can_default) {
+ OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_CAN_DEFAULT);
+ } else {
+ OS.GTK_WIDGET_UNSET_FLAGS (widget, OS.GTK_CAN_DEFAULT);
+ }
}
}
@@ -1758,7 +1762,11 @@ void gtk_widget_set_can_focus (int /*long*/ widget, boolean can_focus) {
if (OS.GTK_VERSION >= OS.VERSION (2, 18, 0)) {
OS.gtk_widget_set_can_focus (widget, can_focus);
} else {
- OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_CAN_FOCUS);
+ if (can_focus) {
+ OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_CAN_FOCUS);
+ } else {
+ OS.GTK_WIDGET_UNSET_FLAGS (widget, OS.GTK_CAN_FOCUS);
+ }
}
}
@@ -1766,7 +1774,11 @@ void gtk_widget_set_mapped (int /*long*/ widget, boolean mapped) {
if (OS.GTK_VERSION >= OS.VERSION (2, 20, 0)) {
OS.gtk_widget_set_mapped (widget, mapped);
} else {
- OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_MAPPED);
+ if (mapped) {
+ OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_MAPPED);
+ } else {
+ OS.GTK_WIDGET_UNSET_FLAGS (widget, OS.GTK_MAPPED);
+ }
}
}
@@ -1774,7 +1786,11 @@ void gtk_widget_set_visible (int /*long*/ widget, boolean visible) {
if (OS.GTK_VERSION >= OS.VERSION (2, 18, 0)) {
OS.gtk_widget_set_visible (widget,visible);
} else {
- OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_VISIBLE);
+ if (visible) {
+ OS.GTK_WIDGET_SET_FLAGS (widget, OS.GTK_VISIBLE);
+ } else {
+ OS.GTK_WIDGET_UNSET_FLAGS (widget, OS.GTK_VISIBLE);
+ }
}
}