From db1326bbb30b8a20e62ef481b5fe80d93f5f69cc Mon Sep 17 00:00:00 2001 From: Simeon Andreev Date: Thu, 14 Feb 2019 16:11:43 +0100 Subject: [PATCH] Bug 543129 - NPE in GdbFullCliConsolePage.dispose() With the fix for bug 536677, disposing a org.eclipse.ui.part.Page will dispose also its site. org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbFullCliConsolePage.dispose() calls super.dispose() and then accesses the page site, which results in a NPE. This change changes the order of disposal to the natural order, extending class first and then the super. Change-Id: I853c8c426b9ea4e1403cd9af34f9878f6379f72a Signed-off-by: Simeon Andreev --- dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF | 2 +- .../cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF index a41c8e9ebf7..e86a69c1a7d 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-Vendor: %providerName Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb.ui;singleton:=true -Bundle-Version: 2.6.2.qualifier +Bundle-Version: 2.6.100.qualifier Bundle-Activator: org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java index 9740bb409d1..c10b7fd3c7c 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java @@ -120,12 +120,12 @@ public class GdbFullCliConsolePage extends Page implements IDebugContextListener @Override public void dispose() { - super.dispose(); DebugUITools.getDebugContextManager().getContextService(getSite().getWorkbenchWindow()) .removeDebugContextListener(this); fTerminalControl.disposeTerminal(); fMenuManager.dispose(); GdbUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); + super.dispose(); } @Override