diff --git a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java index 939ac3251da..6a3502e8fc2 100644 --- a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java +++ b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardCompare.java @@ -188,7 +188,11 @@ protected Object prepareInput(IProgressMonitor monitor) */ private Object getClipboard() { Clipboard clip = new Clipboard(Display.getDefault()); - return clip.getContents(TextTransfer.getInstance()); + try { + return clip.getContents(TextTransfer.getInstance()); + } finally { + clip.dispose(); + } } @Override diff --git a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java index 065fb97d38a..2faa7b4171e 100644 --- a/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java +++ b/team/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/ClipboardReplace.java @@ -92,7 +92,11 @@ protected boolean isEnabled(ISelection selection) { */ private Object getClipboard() { Clipboard clip = new Clipboard(Display.getDefault()); - return clip.getContents(TextTransfer.getInstance()); + try { + return clip.getContents(TextTransfer.getInstance()); + } finally { + clip.dispose(); + } } }