Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Sohn2015-03-05 08:46:15 +0000
committerMatthias Sohn2015-03-05 14:42:28 +0000
commit4e38d5e3d8cd991981daa18b9e25bb96bac5d9b3 (patch)
tree127d9d690bbec8e337bda73831d47a52de88b45e /org.eclipse.egit.ui
parent83ee9b48ea871e9b0c6016c6882975ce88984619 (diff)
downloadegit-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.java8
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 {

Back to the top