From b8c86c6d07a8c404a696d908b0734af9493c0884 Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@redhat.com>
Date: Fri, 14 Feb 2003 17:43:34 +0000
Subject: System.java (properties): Use Properties.clone.

	* java/lang/System.java (properties): Use Properties.clone.
	(setProperties): Likewise.

From-SVN: r62903
---
 libjava/java/lang/System.java | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

(limited to 'libjava/java')

diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java
index ab58425..2e7c031 100644
--- a/libjava/java/lang/System.java
+++ b/libjava/java/lang/System.java
@@ -1,5 +1,5 @@
 /* System.java -- useful methods to interface with the system
-   Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -104,8 +104,10 @@ public final class System
    * {@link #setProperties(Properties)}, but will never be null, because
    * setProperties(null) sucks in the default properties.
    */
+  // Note that we use clone here and not new.  Some programs assume
+  // that the system properties do not have a parent.
   private static Properties properties
-    = new Properties(Runtime.defaultProperties);
+    = (Properties) Runtime.defaultProperties.clone();
 
   /**
    * The standard InputStream. This is assigned at startup and starts its
@@ -369,7 +371,11 @@ public final class System
     if (sm != null)
       sm.checkPropertiesAccess();
     if (properties == null)
-      properties = new Properties(Runtime.defaultProperties);
+      {
+	// Note that we use clone here and not new.  Some programs
+	// assume that the system properties do not have a parent.
+	properties = (Properties) Runtime.defaultProperties.clone();
+      }
     System.properties = properties;
   }
 
-- 
cgit v1.1