From 7a212506c0f7e84fd87ea776fa23533e9dfa6e30 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 8 Oct 2008 13:38:16 +0000 Subject: [PATCH] Prevent error-popup for selection listeners, bug 243114. --- .../viewsupport/SelectionListenerWithASTManager.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java index df1b6c56228..4c45c782719 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java @@ -175,7 +175,16 @@ public class SelectionListenerWithASTManager { listeners= fAstListeners.getListeners(); } for (int i= 0; i < listeners.length; i++) { - ((ISelectionListenerWithAST) listeners[i]).selectionChanged(fPart, selection, astRoot); + final Object l = listeners[i]; + try { + ((ISelectionListenerWithAST) l).selectionChanged(fPart, selection, astRoot); + } catch (RuntimeException e) { + CUIPlugin.log(e); + fAstListeners.remove(l); + } catch (OutOfMemoryError e) { + CUIPlugin.log(e); + fAstListeners.remove(l); + } } return Status.OK_STATUS; }