diff options
author | Eike Stepper | 2010-05-09 10:52:44 +0000 |
---|---|---|
committer | Eike Stepper | 2010-05-09 10:52:44 +0000 |
commit | 79f06cdce6264920466d3fb1dbef4d0cda5bc059 (patch) | |
tree | e72d89bc755f28ce61b69aab539b42472f445215 /plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java | |
parent | 0e6ce721f1f34ae69a49e4009d589e292165b630 (diff) | |
download | cdo-79f06cdce6264920466d3fb1dbef4d0cda5bc059.tar.gz cdo-79f06cdce6264920466d3fb1dbef4d0cda5bc059.tar.xz cdo-79f06cdce6264920466d3fb1dbef4d0cda5bc059.zip |
[311758] Removing adapters while closing a view.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=311758
Diffstat (limited to 'plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java')
-rw-r--r-- | plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java index 013972fbf1..4d2f97b97f 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java @@ -59,7 +59,7 @@ public class Lifecycle extends Notifier implements ILifecycle } lock(); - lifecycleState = LifecycleState.ACTIVATING; + IListener[] listeners = getListeners(); if (listeners != null) { @@ -67,6 +67,8 @@ public class Lifecycle extends Notifier implements ILifecycle } doBeforeActivate(); + + lifecycleState = LifecycleState.ACTIVATING; doActivate(); if (!isDeferredActivation()) @@ -111,7 +113,7 @@ public class Lifecycle extends Notifier implements ILifecycle } lock(); - lifecycleState = LifecycleState.DEACTIVATING; + doBeforeDeactivate(); IListener[] listeners = getListeners(); if (listeners != null) @@ -119,9 +121,12 @@ public class Lifecycle extends Notifier implements ILifecycle fireEvent(new LifecycleEvent(this, ILifecycleEvent.Kind.ABOUT_TO_DEACTIVATE), listeners); } + lifecycleState = LifecycleState.DEACTIVATING; doDeactivate(); + lifecycleState = LifecycleState.INACTIVE; unlock(); + if (listeners != null) { fireEvent(new LifecycleEvent(this, ILifecycleEvent.Kind.DEACTIVATED), listeners); |