402585: NPE in UiUsageMonitorPlugin.stop
Change-Id: Iefc191ee7886ee5c3b8572962ba3779fc0bd863c
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=402585
diff --git a/org.eclipse.mylyn.monitor.usage/src/org/eclipse/mylyn/internal/monitor/usage/UiUsageMonitorPlugin.java b/org.eclipse.mylyn.monitor.usage/src/org/eclipse/mylyn/internal/monitor/usage/UiUsageMonitorPlugin.java
index 5e9829b..b3b369d 100644
--- a/org.eclipse.mylyn.monitor.usage/src/org/eclipse/mylyn/internal/monitor/usage/UiUsageMonitorPlugin.java
+++ b/org.eclipse.mylyn.monitor.usage/src/org/eclipse/mylyn/internal/monitor/usage/UiUsageMonitorPlugin.java
@@ -52,6 +52,7 @@
/**
* @author Mik Kersten
* @author Shawn Minto
+ * @author Frank Becker
*/
public class UiUsageMonitorPlugin extends AbstractUIPlugin {
@@ -258,8 +259,9 @@
}
public boolean isObfuscationEnabled() {
- return UiUsageMonitorPlugin.getDefault().getPreferenceStore().getBoolean(
- MonitorPreferenceConstants.PREF_MONITORING_OBFUSCATE)
+ return UiUsageMonitorPlugin.getDefault()
+ .getPreferenceStore()
+ .getBoolean(MonitorPreferenceConstants.PREF_MONITORING_OBFUSCATE)
|| (studyParameters != null && studyParameters.forceObfuscation());
}
@@ -286,10 +288,14 @@
// ContextCore.getPluginPreferences().removePropertyChangeListener(DATA_DIR_MOVE_LISTENER);
MonitorUiPlugin.getDefault().removeWindowPerspectiveListener(perspectiveMonitor);
- workbench.getActivitySupport().getActivityManager().removeActivityManagerListener(activityMonitor);
- if (workbench.getDisplay() != null && !workbench.getDisplay().isDisposed()) {
- workbench.getDisplay().removeFilter(SWT.Selection, menuMonitor);
- workbench.removeWindowListener(windowMonitor);
+ if (workbench != null) {
+ if (workbench.getActivitySupport() != null) {
+ workbench.getActivitySupport().getActivityManager().removeActivityManagerListener(activityMonitor);
+ }
+ if (workbench.getDisplay() != null && !workbench.getDisplay().isDisposed()) {
+ workbench.getDisplay().removeFilter(SWT.Selection, menuMonitor);
+ workbench.removeWindowListener(windowMonitor);
+ }
}
// uninstallBrowserMonitor(workbench);
@@ -366,15 +372,18 @@
public Date getLastTransmitDate() {
Date lastTransmit;
- if (UiUsageMonitorPlugin.getDefault().getPreferenceStore().contains(
- MonitorPreferenceConstants.PREF_PREVIOUS_TRANSMIT_DATE)) {
+ if (UiUsageMonitorPlugin.getDefault()
+ .getPreferenceStore()
+ .contains(MonitorPreferenceConstants.PREF_PREVIOUS_TRANSMIT_DATE)) {
- lastTransmit = new Date(UiUsageMonitorPlugin.getDefault().getPreferenceStore().getLong(
- MonitorPreferenceConstants.PREF_PREVIOUS_TRANSMIT_DATE));
+ lastTransmit = new Date(UiUsageMonitorPlugin.getDefault()
+ .getPreferenceStore()
+ .getLong(MonitorPreferenceConstants.PREF_PREVIOUS_TRANSMIT_DATE));
} else {
lastTransmit = new Date();
- UiUsageMonitorPlugin.getDefault().getPreferenceStore().setValue(
- MonitorPreferenceConstants.PREF_PREVIOUS_TRANSMIT_DATE, lastTransmit.getTime());
+ UiUsageMonitorPlugin.getDefault()
+ .getPreferenceStore()
+ .setValue(MonitorPreferenceConstants.PREF_PREVIOUS_TRANSMIT_DATE, lastTransmit.getTime());
}
return lastTransmit;
}