Bug 126726 - Show Monitors not working
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
index 1ce3fdc..f01f58f 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/IJavaDebugUIConstants.java
@@ -71,7 +71,6 @@
/**
* Boolean preference indicating whether system threads should appear visible in the debug view.
- * A view may override this preference, and if so, stores its preference, prefixed by view id.
*
* @since 3.2
*/
@@ -79,7 +78,6 @@
/**
* Boolean preference indicating whether thread groups should be displayed in the debug view.
- * A view may override this preference, and if so, stores its preference, prefixed by view id.
*
* @since 3.2
*/
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java
index b9c3908..65ed54f 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBooleanPreferenceAction.java
@@ -38,8 +38,9 @@
final StructuredViewer viewer = getStructuredViewer();
BusyIndicator.showWhile(viewer.getControl().getDisplay(), new Runnable() {
public void run() {
+ // note, this uses the pref key, not the composite key - the prefs are global, not view specific.
IPreferenceStore store = getPreferenceStore();
- store.setValue(getCompositeKey(), getValue());
+ store.setValue(getPreferenceKey(), getValue());
viewer.refresh();
}
});
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java
index 707de41..c001bc1 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaDebugTargetContentAdapter.java
@@ -29,7 +29,7 @@
protected Object[] getChildren(Object parent, IPresentationContext context) throws CoreException {
String id = context.getPart().getSite().getId();
if (IDebugUIConstants.ID_DEBUG_VIEW.equals(id)) {
- if (isShowThreadGroups(context)) {
+ if (isShowThreadGroups()) {
if (parent instanceof IJavaDebugTarget) {
IJavaDebugTarget target = (IJavaDebugTarget) parent;
return target.getRootThreadGroups();
@@ -40,16 +40,12 @@
}
/**
- * Returns whether thread groups are being displayed.
+ * Returns whether thread groups are being displayed (in the debug view)
*
* @return whether thread groups are being displayed
*/
- protected static boolean isShowThreadGroups(IPresentationContext context) {
- String compositeKey = context.getPart().getSite().getId() + "." + IJavaDebugUIConstants.PREF_SHOW_THREAD_GROUPS; //$NON-NLS-1$
+ protected static boolean isShowThreadGroups() {
Preferences pluginPreferences = JDIDebugUIPlugin.getDefault().getPluginPreferences();
- if (pluginPreferences.contains(compositeKey)) {
- return pluginPreferences.getBoolean(compositeKey);
- }
return pluginPreferences.getBoolean(IJavaDebugUIConstants.PREF_SHOW_THREAD_GROUPS);
}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java
index 8feee30..783d5ee 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/threadgroups/JavaThreadEventHandler.java
@@ -39,7 +39,7 @@
}
protected ModelDelta addPathToThread(ModelDelta delta, IThread thread) {
- if (JavaDebugTargetContentAdapter.isShowThreadGroups(getModelProxy().getPresentationContext())) {
+ if (JavaDebugTargetContentAdapter.isShowThreadGroups()) {
delta = delta.addNode(thread.getLaunch(), IModelDelta.NO_CHANGE);
delta = delta.addNode(thread.getDebugTarget(), IModelDelta.NO_CHANGE);
List groups = new ArrayList();