When deciding whether a compilation is for IE6, check all of the current
permutations for that compile, not just the first one.
Review by: cromwellian
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7397 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
index ce3ab28..7eb3148 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
@@ -333,17 +333,21 @@
// http://code.google.com/p/google-web-toolkit/issues/detail?id=1440
// note, JsIEBlockTextTransformer now handles restructuring top level
// blocks, this class now handles non-top level blocks only.
- SelectionProperty userAgentProperty = null;
+ boolean splitBlocks = false;
for (PropertyOracle oracle : propertyOracles) {
try {
- userAgentProperty = oracle.getSelectionProperty(logger, "user.agent");
+ SelectionProperty userAgentProperty = oracle.getSelectionProperty(
+ logger, "user.agent");
+ if ("ie6".equals(userAgentProperty.getCurrentValue())) {
+ splitBlocks = true;
+ break;
+ }
} catch (BadPropertyValueException e) {
+ // user agent unknown; play it safe
+ splitBlocks = true;
break;
}
}
- // if user agent is known or ie6, split overly large blocks
- boolean splitBlocks = userAgentProperty == null
- || ("ie6".equals(userAgentProperty.getCurrentValue()));
if (splitBlocks) {
JsIEBlockSizeVisitor.exec(jsProgram);