diff options
7 files changed, 57 insertions, 43 deletions
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CreatePatchActionTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CreatePatchActionTest.java index e45b98ca08..d395a9c4ce 100644 --- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CreatePatchActionTest.java +++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/team/actions/CreatePatchActionTest.java @@ -241,8 +241,12 @@ public class CreatePatchActionTest extends LocalRepositoryTestCase { @Override public void run() { Clipboard clp = new Clipboard(Display.getCurrent()); - value[0] = (String) clp.getContents(TextTransfer.getInstance()); - clp.dispose(); + try { + value[0] = (String) clp + .getContents(TextTransfer.getInstance()); + } finally { + clp.dispose(); + } } }); assertEquals(expected, value[0]); diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewRepoHandlingTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewRepoHandlingTest.java index d332f2516e..d424c0365f 100644 --- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewRepoHandlingTest.java +++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewRepoHandlingTest.java @@ -80,21 +80,26 @@ public class GitRepositoriesViewRepoHandlingTest extends @Override public void run() { Clipboard clp = new Clipboard(Display.getCurrent()); - clp.clearContents(); - clp.setContents(new Object[] { "x" }, - new TextTransfer[] { TextTransfer.getInstance() }); - String value = (String) clp.getContents(TextTransfer - .getInstance()); - assertEquals("Clipboard content should be x", "x", value); - - ContextMenuHelper.clickContextMenuSync(tree, myUtil - .getPluginLocalizedValue("CopyPathCommand")); - value = (String) clp.getContents(TextTransfer.getInstance()); - assertTrue("Clipboard content (" + value - + ")should be a repository path", FileKey - .isGitRepository(new File(value), FS.DETECTED)); - - clp.dispose(); + try { + clp.clearContents(); + clp.setContents(new Object[] { "x" }, + new TextTransfer[] { TextTransfer.getInstance() }); + String value = (String) clp + .getContents(TextTransfer.getInstance()); + assertEquals("Clipboard content should be x", "x", value); + + ContextMenuHelper.clickContextMenuSync(tree, + myUtil.getPluginLocalizedValue("CopyPathCommand")); + value = (String) clp + .getContents(TextTransfer.getInstance()); + assertTrue( + "Clipboard content (" + value + + ")should be a repository path", + FileKey.isGitRepository(new File(value), + FS.DETECTED)); + } finally { + clp.dispose(); + } } }); @@ -111,9 +116,9 @@ public class GitRepositoriesViewRepoHandlingTest extends @Override public void run() { - Clipboard clip = null; + Clipboard clip = new Clipboard( + PlatformUI.getWorkbench().getDisplay()); try { - clip = new Clipboard(PlatformUI.getWorkbench().getDisplay()); clip.setContents(new Object[] { repositoryFile.getPath() }, new Transfer[] { TextTransfer.getInstance() }); @@ -122,8 +127,7 @@ public class GitRepositoriesViewRepoHandlingTest extends } catch (Exception e) { exceptions[0] = e; } finally { - if (clip != null) - clip.dispose(); + clip.dispose(); } } }); diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositorySelectionPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositorySelectionPage.java index 9842ea2e9d..8151bee0ef 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositorySelectionPage.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositorySelectionPage.java @@ -324,15 +324,18 @@ public class RepositorySelectionPage extends WizardPage implements IRepositorySe String preset = presetUri; if (presetUri == null) { Clipboard clipboard = new Clipboard(Display.getCurrent()); - String text = (String) clipboard - .getContents(TextTransfer.getInstance()); - if (text != null) { - text = GitUrlChecker.sanitizeAsGitUrl(text); - if (GitUrlChecker.isValidGitUrl(text)) { - preset = text; + try { + String text = (String) clipboard + .getContents(TextTransfer.getInstance()); + if (text != null) { + text = GitUrlChecker.sanitizeAsGitUrl(text); + if (GitUrlChecker.isValidGitUrl(text)) { + preset = text; + } } + } finally { + clipboard.dispose(); } - clipboard.dispose(); } this.presetUri = preset; diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java index 884959df4e..c3dee00c2a 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/fetch/FetchGerritChangePage.java @@ -235,9 +235,13 @@ public class FetchGerritChangePage extends WizardPage { changeRefs.clear(); }); Clipboard clipboard = new Clipboard(parent.getDisplay()); - String clipText = (String) clipboard.getContents(TextTransfer - .getInstance()); - clipboard.dispose(); + String clipText; + try { + clipText = (String) clipboard + .getContents(TextTransfer.getInstance()); + } finally { + clipboard.dispose(); + } String defaultUri = null; String defaultCommand = null; String defaultChange = null; diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java index eed6e3514f..449dea923e 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitCreatePatchWizard.java @@ -218,9 +218,12 @@ public class GitCreatePatchWizard extends Wizard { public void run() { TextTransfer plainTextTransfer = TextTransfer.getInstance(); Clipboard clipboard = new Clipboard(getShell().getDisplay()); - clipboard.setContents(new String[] { content }, - new Transfer[] { plainTextTransfer }); - clipboard.dispose(); + try { + clipboard.setContents(new String[] { content }, + new Transfer[] { plainTextTransfer }); + } finally { + clipboard.dispose(); + } } }); } diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/PasteCommand.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/PasteCommand.java index 83db2de7cc..13d2e2e7ee 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/PasteCommand.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/PasteCommand.java @@ -55,9 +55,8 @@ public class PasteCommand extends // repository location and try to add this String errorMessage = null; - Clipboard clip = null; + Clipboard clip = new Clipboard(getShell(event).getDisplay()); try { - clip = new Clipboard(getShell(event).getDisplay()); String content = (String) clip.getContents(TextTransfer .getInstance()); if (content == null) { @@ -99,10 +98,7 @@ public class PasteCommand extends } return null; } finally { - if (clip != null) { - // we must dispose ourselves - clip.dispose(); - } + clip.dispose(); if (errorMessage != null) { Activator.showError(errorMessage, null); } diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java index 63d92e5e91..bf1ea7d96a 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java @@ -2193,10 +2193,10 @@ public class StagingView extends ViewPart private void copyPathOfSelectionToClipboard(final TreeViewer viewer) { Clipboard cb = new Clipboard(viewer.getControl().getDisplay()); - TextTransfer t = TextTransfer.getInstance(); - String text = getTextFrom( - (IStructuredSelection) viewer.getSelection()); try { + TextTransfer t = TextTransfer.getInstance(); + String text = getTextFrom( + (IStructuredSelection) viewer.getSelection()); if (text != null) { cb.setContents(new Object[] { text }, new Transfer[] { t }); } |