From 424f976c4fe91bc0dc70a4a7196eba58a7bda43d Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Thu, 12 Aug 2004 15:03:16 +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 d2023c628c4..d6ee9da0df8 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 Tanya Wolff Fix for 70943 - externalized 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 0928a10c79c..a98a4abcc03 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; @@ -317,7 +318,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(); } @@ -325,6 +330,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() { @@ -337,6 +345,6 @@ public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListen } } }; - getWorkbench().getDisplay().asyncExec( r ); + display.asyncExec( r ); } } \ No newline at end of file