From d99d8240050159d27ce173039685ba8c291ebf45 Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Thu, 12 Aug 2004 14:49:50 +0000 Subject: [PATCH] Fix for bug 70453. Linux: error exiting Eclipse on Linux RedHat or SuSe Enterprise Server 9. Applied modified patch from Sean Evoy. --- debug/org.eclipse.cdt.debug.ui/ChangeLog | 5 +++++ .../src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.ui/ChangeLog b/debug/org.eclipse.cdt.debug.ui/ChangeLog index 3af576d95ea..efc2491ae12 100644 --- a/debug/org.eclipse.cdt.debug.ui/ChangeLog +++ b/debug/org.eclipse.cdt.debug.ui/ChangeLog @@ -1,3 +1,8 @@ +2004-08-12 Mikhail Khodjaiants + Fix for bug 70453. Linux: error exiting Eclipse on Linux RedHat or SuSe Enterprise Server 9. + Applied modified patch from Sean Evoy. + * CDebugUIPlugin.java + 2004-08-10 Mikhail Khodjaiants Fix for bug 70902. TVT3.0: Customize Perspective C++ Debug has duplicated strings. * plugin.xml diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java index 86f5d4f337a..b68a7582128 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java @@ -39,6 +39,7 @@ import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.SWTException; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; @@ -322,7 +323,11 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen */ public void stop( BundleContext context ) throws Exception { CDebugCorePlugin.getDefault().removeCBreakpointListener( CBreakpointUpdater.getInstance() ); - listenSelection( false, this ); + try { + listenSelection( false, this ); + } + catch (SWTException e) { + } if ( fImageDescriptorRegistry != null ) { fImageDescriptorRegistry.dispose(); } @@ -330,6 +335,9 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen } void listenSelection( final boolean enable, final ISelectionListener listener ) { + Display display = getWorkbench().getDisplay(); + if ( display == null || display.isDisposed() ) + return; Runnable r = new Runnable() { public void run() { @@ -342,6 +350,6 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen } } }; - getWorkbench().getDisplay().asyncExec( r ); + display.asyncExec( r ); } } \ No newline at end of file