diff options
author | Matthias Sohn | 2015-03-05 08:46:15 +0000 |
---|---|---|
committer | Matthias Sohn | 2015-03-05 14:42:28 +0000 |
commit | 4e38d5e3d8cd991981daa18b9e25bb96bac5d9b3 (patch) | |
tree | 127d9d690bbec8e337bda73831d47a52de88b45e /org.eclipse.egit.ui | |
parent | 83ee9b48ea871e9b0c6016c6882975ce88984619 (diff) | |
download | egit-4e38d5e3d8cd991981daa18b9e25bb96bac5d9b3.tar.gz egit-4e38d5e3d8cd991981daa18b9e25bb96bac5d9b3.tar.xz egit-4e38d5e3d8cd991981daa18b9e25bb96bac5d9b3.zip |
Fix SWTException: invalid thread access
Bug: 461468
Change-Id: I49d8e856393d35ecf10fe63280541f2cd109fffa
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.egit.ui')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitMergeEditorInput.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitMergeEditorInput.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitMergeEditorInput.java index 3ea9d9ddd6..5eb227960b 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitMergeEditorInput.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitMergeEditorInput.java @@ -67,6 +67,7 @@ import org.eclipse.jgit.util.IO; import org.eclipse.jgit.util.RawParseUtils; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; import org.eclipse.team.core.history.IFileRevision; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; @@ -106,7 +107,8 @@ public class GitMergeEditorInput extends CompareEditorInput { @Override public Object getAdapter(Class adapter) { - if (adapter == IFile.class || adapter == IResource.class) { + if ((adapter == IFile.class || adapter == IResource.class) + && isUIThread()) { Object selectedEdition = getSelectedEdition(); if (selectedEdition instanceof DiffNode) { DiffNode diffNode = (DiffNode) selectedEdition; @@ -120,6 +122,10 @@ public class GitMergeEditorInput extends CompareEditorInput { return super.getAdapter(adapter); } + private static boolean isUIThread() { + return Display.getCurrent() != null; + } + @Override protected Object prepareInput(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { |