diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/SurroundWithTemplateMenuAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/SurroundWithTemplateMenuAction.java index 57d136d2069..96dc6624cb3 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/SurroundWithTemplateMenuAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/actions/SurroundWithTemplateMenuAction.java @@ -272,15 +272,11 @@ public class SurroundWithTemplateMenuAction implements IWorkbenchWindowPulldownD TemplateCompletionProposalComputer templateComputer = new TemplateCompletionProposalComputer(); CContentAssistInvocationContext context = new CContentAssistInvocationContext( editor.getViewer(), textSelection.getOffset(), editor, true, false ); - try { - List proposals= templateComputer.computeCompletionProposals(context, null); - if (proposals == null || proposals.isEmpty()) - return null; - - return getActionsFromProposals(proposals, context.getInvocationOffset(), editor.getViewer()); - } finally { - context.dispose(); - } + List proposals= templateComputer.computeCompletionProposals(context, null); + if (proposals == null || proposals.isEmpty()) + return null; + + return getActionsFromProposals(proposals, context.getInvocationOffset(), editor.getViewer()); } private static ITextSelection getTextSelection(CEditor editor) { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ParameterGuessingProposal.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ParameterGuessingProposal.java index 2107d9daff2..7e252eebf40 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ParameterGuessingProposal.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ParameterGuessingProposal.java @@ -358,19 +358,13 @@ public class ParameterGuessingProposal extends FunctionCompletionProposal { } /** - * Returns a list of functions and variables that are defined in the current context. + * Returns a list of functions and variables that are defined in current context. * @return a list of assignable elements. */ private List getAssignableElements() { int i = getStatementStartOffset(fContext.getDocument(), getStatementStartOffset()); - CContentAssistInvocationContext context = - new CContentAssistInvocationContext(fTextViewer, i, getCEditor(), true, false); - IASTCompletionNode node; - try { - node = context.getCompletionNode(); - } finally { - context.dispose(); - } + CContentAssistInvocationContext c = new CContentAssistInvocationContext(fTextViewer, i, getCEditor(), true, false); + IASTCompletionNode node = c.getCompletionNode(); IASTName[] names = node.getNames(); List allBindings = new ArrayList<>(); for (IASTName name : names) {