diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java')
-rw-r--r-- | bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java index f850c7c09..c91dd13ee 100644 --- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java +++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxManipulatorImpl.java @@ -94,8 +94,14 @@ public class EquinoxManipulatorImpl implements Manipulator { if (dotLocation != -1) launcherName = launcherName.substring(0, dotLocation); File launcherFolder = launcher.getParentFile(); - if (org.eclipse.osgi.service.environment.Constants.OS_MACOSX.equals(launcherData.getOS())) - launcherFolder = launcherData.getFwConfigLocation().getParentFile(); + if (org.eclipse.osgi.service.environment.Constants.OS_MACOSX.equals(launcherData.getOS())) { + if (launcherData.getFwConfigLocation() != null) + launcherFolder = launcherData.getFwConfigLocation().getParentFile(); + else if (launcherData.getFwPersistentDataLocation() != null) + launcherFolder = launcherData.getFwPersistentDataLocation().getParentFile(); + else + throw new IllegalStateException("Not able to determine launcher ini file from " + launcherData); //$NON-NLS-1$ + } File result = new File(launcherFolder, launcherName + EquinoxConstants.INI_EXTENSION); return result; } |