From c00e25a8ad7cdced551a6c3db90ac02904a22675 Mon Sep 17 00:00:00 2001 From: Teodor Madan Date: Thu, 22 Jan 2015 17:08:18 +0200 Subject: [PATCH] [Bug 457699] Fix NPE when renaming project and executable path LC attribute is empty Change-Id: I27405f759a0cdec1d66bc6bc63be0e7dbd183bf8 Signed-off-by: Teodor Madan --- .../internal/refactoring/ProjectRenameChange.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/refactoring/ProjectRenameChange.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/refactoring/ProjectRenameChange.java index 9a97c0f4729..926329202ee 100644 --- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/refactoring/ProjectRenameChange.java +++ b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/refactoring/ProjectRenameChange.java @@ -127,11 +127,13 @@ class ProjectRenameChange extends AbstractLaunchConfigChange { IPath pathProgName = new Path(launchConfig.getAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, "")); //$NON-NLS-1$ String progExtension = pathProgName.getFileExtension(); String progName = pathProgName.removeFileExtension().lastSegment(); - if (progName.equals(oldName)) { - pathProgName = pathProgName.removeLastSegments(1).append(newName).addFileExtension(progExtension); - } - copy.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, + if (oldName.equals(progName)) { + pathProgName = pathProgName.removeLastSegments(1).append(newName); + if (progExtension != null ) + pathProgName = pathProgName.addFileExtension(progExtension); + copy.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, pathProgName.toOSString()); + } try { // Note: for non-local LCs, this will end up updating the .launch