46 lines
2.0 KiB
Diff
46 lines
2.0 KiB
Diff
|
--- rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java 2012-05-05 14:41:12.000000000 +0200
|
||
|
+++ rt.equinox.framework/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java 2012-05-18 15:28:28.553493782 +0200
|
||
|
@@ -8,7 +8,7 @@
|
||
|
* Contributors:
|
||
|
* IBM Corporation - initial API and implementation
|
||
|
* Anton Leherbauer (Wind River Systems) - bug 301226
|
||
|
- * Red Hat Inc. - bug 373640
|
||
|
+ * Red Hat Inc. - bug 373640, 379102
|
||
|
*******************************************************************************/
|
||
|
package org.eclipse.equinox.launcher;
|
||
|
|
||
|
@@ -235,6 +235,9 @@
|
||
|
protected BufferedWriter log = null;
|
||
|
protected boolean newSession = true;
|
||
|
|
||
|
+ private boolean forbiddenMasterEclipse;
|
||
|
+ private static final String FORBIDDEN_MASTER_ECLIPSE = "-preventMasterEclipseLaunch";
|
||
|
+
|
||
|
// for variable substitution
|
||
|
public static final String VARIABLE_DELIM_STRING = "$"; //$NON-NLS-1$
|
||
|
public static final char VARIABLE_DELIM_CHAR = '$';
|
||
|
@@ -555,6 +558,12 @@
|
||
|
setupVMProperties();
|
||
|
processConfiguration();
|
||
|
|
||
|
+if (forbiddenMasterEclipse && System.getProperty(PROP_SHARED_CONFIG_AREA) == null) { //$NON-NLS-1$
|
||
|
+ System.err.println("This application should not be run by the owner of the shared configuration.");
|
||
|
+ System.setProperty(PROP_EXITCODE, "" + 14); //$NON-NLS-1$
|
||
|
+ return;
|
||
|
+ }
|
||
|
+
|
||
|
// need to ensure that getInstallLocation is called at least once to initialize the value.
|
||
|
// Do this AFTER processing the configuration to allow the configuration to set
|
||
|
// the install location.
|
||
|
@@ -1532,6 +1541,10 @@
|
||
|
// passed thru this arg (i.e., do not set found = true)
|
||
|
continue;
|
||
|
}
|
||
|
+ if (args[i].equalsIgnoreCase(FORBIDDEN_MASTER_ECLIPSE)) {
|
||
|
+ forbiddenMasterEclipse = true;
|
||
|
+ found = true;
|
||
|
+ }
|
||
|
|
||
|
// check if development mode should be enabled for the entire platform
|
||
|
// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -),
|