... and here is the patch
Index: src/uk/me/parabola/mkgmap/osmstyle/StyleImpl.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/uk/me/parabola/mkgmap/osmstyle/StyleImpl.java	(revision 3598)
+++ src/uk/me/parabola/mkgmap/osmstyle/StyleImpl.java	(revision )
@@ -153,7 +153,9 @@
 			mergeOptions(baseStyle);
 
 		readOptions();
-		
+
+		applyCmdLineOptions(props);
+
 		// read overlays before the style rules to be able to ignore overlaid "wrong" types. 
 		readOverlays(); 
 		
@@ -162,10 +164,23 @@
 		ListIterator<StyleImpl> listIterator = baseStyles.listIterator(baseStyles.size());
 		while (listIterator.hasPrevious())
 			mergeRules(listIterator.previous());
+	}
 
-		// OR: other way
-		//for (StyleImpl s : baseStyles)
-		//	mergeRules(s);
+	/**
+	 * Apply any command line options that are appropriate for the style.
+	 *
+	 * @param props Contains the command line options.
+	 */
+	private void applyCmdLineOptions(EnhancedProperties props) {
+		for (Entry<Object, Object> ent : props.entrySet()) {
+			String opt = (String) ent.getKey();
+			String val = (String) ent.getValue();
+			if (OPTION_LIST.contains(opt)) {
+				// Simple options that have string value.  Perhaps we should allow
+				// anything here?
+				generalOptions.put(opt, val);
+			}
+		}
 	}
 
 	public String getOption(String name) {
@@ -441,7 +456,7 @@
 	 * @see #mergeRules(StyleImpl)
 	 */
 	private void mergeOptions(StyleImpl other) {
-	for (Entry<String, String> ent : other.generalOptions.entrySet()) {
+		for (Entry<String, String> ent : other.generalOptions.entrySet()) {
 			String opt = ent.getKey();
 			String val = ent.getValue();
 			if (OPTION_LIST.contains(opt)) {
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to