aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Loskutov2018-07-05 08:05:43 -0400
committerAndrey Loskutov2018-07-05 08:05:43 -0400
commit96c1cff4a5f6c7e795a39a93c609b05fd1e23377 (patch)
treee3f322430d30a675fe3f4996b68ea7d1d62826cd
parentc350a1361c10524b301477f68214cd89507a3acd (diff)
downloadeclipse.platform.debug-96c1cff4a5f6c7e795a39a93c609b05fd1e23377.zip
eclipse.platform.debug-96c1cff4a5f6c7e795a39a93c609b05fd1e23377.tar.gz
eclipse.platform.debug-96c1cff4a5f6c7e795a39a93c609b05fd1e23377.tar.xz
Bug 536677 - AbstractDebugView should release MessagePage instancesI20180710-2000I20180709-2000I20180708-2000I20180707-1500I20180706-2000I20180705-2000
Not disposed MessagePage holds site -> serviceLocator -> services -> window reference of closed window. Change-Id: I0e5045d752e35b83f6463bb61114dda09f8bf994 Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java31
1 files changed, 15 insertions, 16 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
index a528128..7f051ad 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
@@ -19,13 +19,10 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-
+import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
+import org.eclipse.debug.internal.ui.LazyModelPresentation;
+import org.eclipse.debug.internal.ui.actions.breakpoints.SkipAllBreakpointsAction;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IContributionItem;
@@ -34,14 +31,18 @@ import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.TextViewer;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.StructuredViewer;
import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.jface.text.TextViewer;
-
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IPartListener2;
@@ -58,14 +59,8 @@ import org.eclipse.ui.part.MessagePage;
import org.eclipse.ui.part.Page;
import org.eclipse.ui.part.PageBook;
import org.eclipse.ui.part.PageBookView;
-
import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.actions.breakpoints.SkipAllBreakpointsAction;
-
/**
* Common function for views related to debugging. Clients implementing
* views for a debugger should subclass this class. Common function
@@ -421,6 +416,10 @@ public abstract class AbstractDebugView extends PageBookView implements IDebugVi
}
setViewer(null);
fActionMap.clear();
+ if (fMessagePage != null) {
+ fMessagePage.dispose();
+ fMessagePage = null;
+ }
super.dispose();
}