Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion debug/org.eclipse.debug.ui/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.debug.ui; singleton:=true
Bundle-Version: 3.21.0.qualifier
Bundle-Version: 3.21.100.qualifier
Bundle-Activator: org.eclipse.debug.internal.ui.DebugUIPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -601,18 +601,17 @@ public void doneSaving(ISaveContext saveContext) {
}
};
PlatformUI.getWorkbench().getThemeManager().addPropertyChangeListener(fThemeListener);
// do the asynchronous exec last - see bug 209920
getStandardDisplay().asyncExec(
() -> {
// initialize the selected resource `
SelectedResourceManager.getDefault();
// forces launch shortcuts to be initialized so their
// key-bindings work
getLaunchConfigurationManager().getLaunchShortcuts();
});
}

// do the asynchronous exec last - see bug 209920
getStandardDisplay().asyncExec(
() -> {
// initialize the selected resource `
SelectedResourceManager.getDefault();
// forces launch shortcuts to be initialized so their
// key-bindings work
getLaunchConfigurationManager().getLaunchShortcuts();
});

DebugUIPluginSaveParticipant saveParticipant = new DebugUIPluginSaveParticipant();
ResourcesPlugin.getWorkspace().addSaveParticipant(getUniqueIdentifier(), saveParticipant);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,12 +227,12 @@ private static void setDefault(IPreferenceStore store, String key, RGB newValue,
}

public static void setThemeBasedPreferences(final IPreferenceStore store, final boolean fireEvent) {
if (!PlatformUI.isWorkbenchRunning()) {
return;
}
Display display= PlatformUI.getWorkbench().getDisplay();
Runnable runnable = () -> {
ColorRegistry registry = null;
if (PlatformUI.isWorkbenchRunning()) {
registry = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getColorRegistry();
}
ColorRegistry registry = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getColorRegistry();
setDefault(store, IDebugPreferenceConstants.CONSOLE_BAKGROUND_COLOR, findRGB(registry, IInternalDebugUIConstants.THEME_CONSOLE_COLOR_BACKGROUND, new RGB(255, 255, 255)), fireEvent);
setDefault(store, IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, findRGB(registry, IInternalDebugUIConstants.THEME_CONSOLE_COLOR_STD_OUT, new RGB(0, 0, 0)), fireEvent);
setDefault(store, IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR, findRGB(registry, IInternalDebugUIConstants.THEME_CONSOLE_COLOR_STD_IN, new RGB(0, 200, 125)), fireEvent);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,7 @@ private void addAllToList(List<ILaunchConfiguration> list, ILaunchConfiguration[
* Starts up the manager
*/
public void startup() {
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbench workbench = PlatformUI.isWorkbenchRunning() ? PlatformUI.getWorkbench() : null;
if(workbench != null) {
workbench.addWindowListener(this);
// initialize for already open windows
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
*/
public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate implements IBreakpointOrganizerDelegateExtension, IPropertyChangeListener, IBreakpointsListener {

private IWorkingSetManager fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
private IWorkingSetManager fWorkingSetManager;

/**
* A cache for mapping markers to the working set they belong to
Expand All @@ -71,7 +71,10 @@ public class BreakpointSetOrganizer extends AbstractBreakpointOrganizerDelegate
* working sets and fires property change notification.
*/
public BreakpointSetOrganizer() {
fWorkingSetManager.addPropertyChangeListener(this);
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager != null) {
workingSetManager.addPropertyChangeListener(this);
}
fCache = new BreakpointWorkingSetCache();
DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
Expand All @@ -80,8 +83,12 @@ public BreakpointSetOrganizer() {

@Override
public IAdaptable[] getCategories(IBreakpoint breakpoint) {
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager == null) {
return new IAdaptable[0];
}
List<IAdaptable> result = new ArrayList<>();
IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
IWorkingSet[] workingSets = workingSetManager.getWorkingSets();
for (IWorkingSet set : workingSets) {
if (IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(set.getId())) {
IAdaptable[] elements = set.getElements();
Expand All @@ -98,7 +105,10 @@ public IAdaptable[] getCategories(IBreakpoint breakpoint) {

@Override
public void dispose() {
fWorkingSetManager.removePropertyChangeListener(this);
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager != null) {
workingSetManager.removePropertyChangeListener(this);
}
fWorkingSetManager = null;
DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
Expand Down Expand Up @@ -220,7 +230,11 @@ private void addBreakpointsToSet(IBreakpoint[] breakpoints, IWorkingSet set) {
@Override
public void breakpointsRemoved(IBreakpoint[] breakpoints,
IMarkerDelta[] deltas) {
IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager == null) {
return;
}
IWorkingSet[] workingSets = workingSetManager.getWorkingSets();
IWorkingSet set = null;
for (IWorkingSet workingSet : workingSets) {
set = workingSet;
Expand Down Expand Up @@ -273,7 +287,7 @@ public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas)
public static IWorkingSet getDefaultWorkingSet() {
IPreferenceStore preferenceStore = DebugUIPlugin.getDefault().getPreferenceStore();
String name = preferenceStore.getString(IInternalDebugUIConstants.MEMENTO_BREAKPOINT_WORKING_SET_NAME);
if (name != null) {
if (name != null && PlatformUI.isWorkbenchRunning()) {
return PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(name);
}
return null;
Expand Down Expand Up @@ -366,7 +380,11 @@ public void removeBreakpoint(IBreakpoint breakpoint, IAdaptable category) {

@Override
public IAdaptable[] getCategories() {
IWorkingSet[] workingSets = fWorkingSetManager.getWorkingSets();
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager == null) {
return new IAdaptable[0];
}
IWorkingSet[] workingSets = workingSetManager.getWorkingSets();
List<IAdaptable> all = new ArrayList<>();
for (IWorkingSet set : workingSets) {
if (IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(set
Expand Down Expand Up @@ -400,4 +418,15 @@ public void removeBreakpoints(IBreakpoint[] breakpoints, IAdaptable category) {
set.setElements(list.toArray(new IAdaptable[list.size()]));
}
}

private IWorkingSetManager getWorkingSetManager() {
if (fWorkingSetManager != null) {
return fWorkingSetManager;
}

if (PlatformUI.isWorkbenchRunning()) {
fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
}
return fWorkingSetManager;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,17 @@
*/
public class WorkingSetBreakpointOrganizer extends AbstractBreakpointOrganizerDelegate implements IPropertyChangeListener {

IWorkingSetManager fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
IWorkingSetManager fWorkingSetManager;

/**
* Constructs a working set breakpoint organizer. Listens for changes in
* working sets and fires property change notification.
*/
public WorkingSetBreakpointOrganizer() {
fWorkingSetManager.addPropertyChangeListener(this);
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager != null) {
workingSetManager.addPropertyChangeListener(this);
}
}

@Override
Expand All @@ -56,7 +59,11 @@ public IAdaptable[] getCategories(IBreakpoint breakpoint) {
parents.add(res);
}
}
for (IWorkingSet workingSet : fWorkingSetManager.getWorkingSets()) {
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager == null) {
return result.toArray(new IAdaptable[result.size()]);
}
for (IWorkingSet workingSet : workingSetManager.getWorkingSets()) {
if (!IDebugUIConstants.BREAKPOINT_WORKINGSET_ID.equals(workingSet.getId())) {
for (IAdaptable element : workingSet.getElements()) {
IResource resource = element.getAdapter(IResource.class);
Expand All @@ -74,7 +81,10 @@ public IAdaptable[] getCategories(IBreakpoint breakpoint) {

@Override
public void dispose() {
fWorkingSetManager.removePropertyChangeListener(this);
IWorkingSetManager workingSetManager = getWorkingSetManager();
if (workingSetManager != null) {
workingSetManager.removePropertyChangeListener(this);
}
fWorkingSetManager = null;
super.dispose();
}
Expand All @@ -91,4 +101,15 @@ public void propertyChange(PropertyChangeEvent event) {
fireCategoryChanged(new WorkingSetCategory(set));
}
}

private IWorkingSetManager getWorkingSetManager() {
if (fWorkingSetManager != null) {
return fWorkingSetManager;
}

if (PlatformUI.isWorkbenchRunning()) {
fWorkingSetManager = PlatformUI.getWorkbench().getWorkingSetManager();
}
return fWorkingSetManager;
}
}
Loading