*** empty log message ***
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
index 0fa4760..b950351 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
@@ -225,6 +225,7 @@
 }
 
 void enableWidget (boolean enabled) {
+	//NOT DONE - take into account current enabled scroll bar state
 	if (scrolledHandle != 0) {
 		if (horizontalBar != null) {
 			int barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (scrolledHandle);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index 046bf7b..5fe81fa 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -2206,12 +2206,13 @@
 public void setEnabled (boolean enabled) {
 	checkWidget();
 	if (enabled) {
+		if ((state & DISABLED) == 0) return;
 		state &= ~DISABLED;
 	} else {
+		if ((state & DISABLED) != 0) return;
 		state |= DISABLED;
 	}
-	boolean fixFocus = false;
-	if (!enabled) fixFocus = isFocusAncestor ();
+	boolean fixFocus = !enabled && isFocusAncestor ();
 	enableWidget (enabled);
 	if (fixFocus) fixFocus ();
 }