From 5b1f6b5408336f50d38fa6517d23087c94df70b0 Mon Sep 17 00:00:00 2001 From: Oleg Krasilnikov Date: Fri, 18 Apr 2008 08:55:03 +0000 Subject: [PATCH] Bug #214194 : Adding a preprocessor symbol erases previously defined ones --- .../eclipse/cdt/core/settings/model/util/SettingsSet.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/SettingsSet.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/SettingsSet.java index c5dba340082..d9b1d99e9db 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/SettingsSet.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/SettingsSet.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Intel Corporation and others. + * Copyright (c) 2007, 2008 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -319,9 +319,12 @@ public class SettingsSet { EntryNameKey key = new EntryNameKey(entry); Object[] o = (Object[])map.get(key); + if(o != null && valueMatches(entry, o[1])){ mapCopy.remove(key); levelInteger = (Integer)o[0]; + if (! entry.isBuiltIn()) // allow overwrite existing entry, + levelInteger = null; // even with the same value } else { levelInteger = null; }