1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

LaunchBar - some checks to prevent NPE's in ui

Change-Id: Iddece4d412b8d88ffba833b55950ec693a2817cc
Reviewed-on: https://git.eclipse.org/r/31554
Tested-by: Hudson CI
Reviewed-by: Elena Laskavaia <elaskavaia.cdt@gmail.com>
This commit is contained in:
Alena Laskavaia 2014-08-13 14:03:55 -04:00 committed by Elena Laskavaia
parent bf0e781811
commit 742c1d9ee8
3 changed files with 15 additions and 7 deletions

View file

@ -33,14 +33,16 @@ public class DefaultDescriptorLabelProvider extends LabelProvider {
ILaunchBarManager manager = desc.getType().getManager();
ILaunchTarget target = manager.getActiveLaunchTarget();
ILaunchConfigurationType type = manager.getLaunchConfigurationType(desc, target);
ImageDescriptor imageDescriptor = DebugUITools.getDefaultImageDescriptor(type);
if (imageDescriptor != null) {
Image image = images.get(imageDescriptor);
if (image == null) {
image = imageDescriptor.createImage();
images.put(imageDescriptor, image);
if (type != null) {
ImageDescriptor imageDescriptor = DebugUITools.getDefaultImageDescriptor(type);
if (imageDescriptor != null) {
Image image = images.get(imageDescriptor);
if (image == null) {
image = imageDescriptor.createImage();
images.put(imageDescriptor, image);
}
return image;
}
return image;
}
} catch (CoreException e) {
Activator.log(e);

View file

@ -168,6 +168,10 @@ public class ConfigSelector extends CSelector {
return;
}
ILaunchConfigurationType configType = getManager().getLaunchConfigurationType(desc, target);
if (configType == null) {
MessageDialog.openError(shell, "No launch configuration type", "Cannot edit this configuration");
return;
}
ILaunchGroup group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(configType, mode.getIdentifier());
LaunchGroupExtension groupExt = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(group.getIdentifier());
if (groupExt != null) {

View file

@ -131,6 +131,8 @@ public class ModeSelector extends CSelector {
protected ILaunchGroup getLaunchGroup(String mode) {
try {
ILaunchConfigurationType type = getManager().getLaunchConfigurationType(getManager().getActiveLaunchDescriptor(), getManager().getActiveLaunchTarget());
if (type == null)
return null;
return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(type, mode);
} catch (CoreException e) {
Activator.log(e.getStatus());