Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Parker2013-06-19 22:57:59 +0000
committerGerrit Code Review @ Eclipse.org2013-06-21 21:00:34 +0000
commit9a3542b124b3f170223cdb741d8e66383a8f108a (patch)
tree08d9066b58219dd492a2bee4def4b264a5df93c0 /org.eclipse.mylyn.reviews.ui/src
parent8136758f0c5ee7ff56e715d2e978923e177fde9e (diff)
downloadorg.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')
-rw-r--r--org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/internal/reviews/ui/views/ReviewExplorer.java8
-rw-r--r--org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/remote/RemoteUiService.java8
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) {

Back to the top