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.java8
1 files changed, 6 insertions, 2 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 5a40f0fd00..3522270a05 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
@@ -411,7 +411,7 @@ public void dispose () {
*/
if (isDisposed ()) return;
if (!isValidThread ()) error (SWT.ERROR_THREAD_INVALID_ACCESS);
- releaseChildren (true);
+ release (true);
}
void error (int code) {
@@ -919,11 +919,12 @@ void register () {
if ((state & HANDLE) != 0) display.addWidget (handle, this);
}
-void releaseChildren (boolean destroy) {
+void release (boolean destroy) {
if ((state & DISPOSE_SENT) == 0) {
state |= DISPOSE_SENT;
sendEvent (SWT.Dispose);
}
+ releaseChildren (destroy);
if ((state & RELEASED) == 0) {
state |= RELEASED;
if (destroy) {
@@ -937,6 +938,9 @@ void releaseChildren (boolean destroy) {
}
}
+void releaseChildren (boolean destroy) {
+}
+
void releaseHandle () {
handle = 0;
state |= DISPOSED;