diff options
author | Miles Parker | 2013-06-19 22:57:59 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2013-06-21 21:00:34 +0000 |
commit | 9a3542b124b3f170223cdb741d8e66383a8f108a (patch) | |
tree | 08d9066b58219dd492a2bee4def4b264a5df93c0 /org.eclipse.mylyn.reviews.ui/src | |
parent | 8136758f0c5ee7ff56e715d2e978923e177fde9e (diff) | |
download | org.eclipse.mylyn.reviews-9a3542b124b3f170223cdb741d8e66383a8f108a.tar.gz org.eclipse.mylyn.reviews-9a3542b124b3f170223cdb741d8e66383a8f108a.tar.xz org.eclipse.mylyn.reviews-9a3542b124b3f170223cdb741d8e66383a8f108a.zip |
410541: Invalid thread access on shutdown
Change-Id: Ibe1a1a33801f98721412865e21db2179885971dc
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=410541
Diffstat (limited to 'org.eclipse.mylyn.reviews.ui/src')
2 files changed, 12 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/views/ReviewExplorer.java b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/views/ReviewExplorer.java index dbe82ce12..a11afcffa 100644 --- a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/views/ReviewExplorer.java +++ b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/views/ReviewExplorer.java @@ -474,9 +474,11 @@ public class ReviewExplorer extends CommonNavigator { protected void update() { updateContentDescription(); - refreshAction.setEnabled(review != null); - getCommonViewer().setInput(review); - getCommonViewer().refresh(); + if (!getCommonViewer().getControl().isDisposed()) { + refreshAction.setEnabled(review != null); + getCommonViewer().setInput(review); + getCommonViewer().refresh(); + } } protected void refresh() { diff --git a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/remote/RemoteUiService.java b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/remote/RemoteUiService.java index 69770f5c7..11928ed22 100644 --- a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/remote/RemoteUiService.java +++ b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/remote/RemoteUiService.java @@ -11,8 +11,10 @@ package org.eclipse.mylyn.reviews.ui.spi.remote; +import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.mylyn.reviews.core.spi.remote.JobRemoteService; import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.PlatformUI; /** * Executes remote job, ensuring that results are applied and notification occurs in UI thread. @@ -25,7 +27,11 @@ public class RemoteUiService extends JobRemoteService { public void modelExec(final Runnable runnable, boolean block) { Display displayThread = Display.getCurrent(); if (displayThread == null) { - displayThread = Display.getDefault(); + if (!PlatformUI.getWorkbench().isClosing()) { + displayThread = PlatformUI.getWorkbench().getDisplay(); + } else { + throw new OperationCanceledException(); + } } if (block) { if (Display.getCurrent() != null) { |