Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2010-01-26 18:29:38 +0000
committerspingel2010-01-26 18:29:38 +0000
commit52c80b73095107aead3a3b975f970d3b8ddb389d (patch)
treef5782457163cd693901c8cb38ca3c58879297f0b
parent4fa57efae339cb17f2d9f6d88dcac9ad0fa9ce39 (diff)
downloadorg.eclipse.mylyn.tasks-52c80b73095107aead3a3b975f970d3b8ddb389d.tar.gz
org.eclipse.mylyn.tasks-52c80b73095107aead3a3b975f970d3b8ddb389d.tar.xz
org.eclipse.mylyn.tasks-52c80b73095107aead3a3b975f970d3b8ddb389d.zip
RESOLVED - bug 298138: repository synchronization may run before tasks UI is initialized
https://bugs.eclipse.org/bugs/show_bug.cgi?id=298138
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java
index b79ab20fb..60d41b2cb 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
+import java.util.concurrent.atomic.AtomicInteger;
import org.eclipse.core.net.proxy.IProxyChangeEvent;
import org.eclipse.core.net.proxy.IProxyChangeListener;
@@ -370,6 +371,8 @@ public class TasksUiPlugin extends AbstractUIPlugin {
@Deprecated
public static String LABEL_VIEW_REPOSITORIES = Messages.TasksUiPlugin_Task_Repositories;
+ private final AtomicInteger initializationCount = new AtomicInteger();
+
private class TasksUiInitializationJob extends UIJob {
public TasksUiInitializationJob() {
@@ -427,6 +430,8 @@ public class TasksUiPlugin extends AbstractUIPlugin {
}
monitor.worked(1);
+ initializeNotificationsAndSynchronization();
+
try {
getPreferenceStore().addPropertyChangeListener(PROPERTY_LISTENER);
@@ -1280,6 +1285,12 @@ public class TasksUiPlugin extends AbstractUIPlugin {
}
public void initializeNotificationsAndSynchronization() {
+ // this method is invoked by the tasks ui initialization job and the task list view
+ // only proceed if both calls have been made
+ if (initializationCount.incrementAndGet() != 2) {
+ return;
+ }
+
try {
taskListNotificationManager.addNotificationProvider(REMINDER_NOTIFICATION_PROVIDER);
// taskListNotificationManager.addNotificationProvider(INCOMING_NOTIFICATION_PROVIDER);

Back to the top