Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Adobe Flex SDK 4.5 (Release)
-
None
-
Affected OS(s): Windows
Affected OS(s): Windows XP
Language Found: English
Description
Steps to reproduce:
Compile the attached source file with the attached ant script
Actual Results:
If you examine the generated output file, generated/_Main_mx_managers_SystemManager-generated.as, you'll see this:
cdRsls: [
[new RSLData("/content/mosaic/viewer/flex_sdks/flex_sdk_4.5.0.20967/framework_4.5.0.20967.swz",
"/content/mosaic/viewer/flex_sdks/flex_sdk_4.5.0.20967/framework_4.5.0.20967.swf",
"9f67b1c289a5b5db7b32844af679e758541d101b46a7f75672258953804971ff",
"SHA-256",true,true,"default"),
new RSLData("framework_4.5.0.20967.swz",
"framework_4.5.0.20967.swf",
"9f67b1c289a5b5db7b32844af679e758541d101b46a7f75672258953804971ff",
"SHA-256",true,true,"default"),
new RSLData("http://fpdownload.adobe.com/pub/swz/flex/4.5.0.20967/framework_4.5.0.20967.swz",
"http://fpdownload.adobe.com/pub/swz/crossdomain.xml",
"9f67b1c289a5b5db7b32844af679e758541d101b46a7f75672258953804971ff",
"SHA-256",true,true,"default")]]
The constructor for RSLData expects the second argument to be the cross-domain policy file, but somehow the mxmlc task has taken the second failover url and put it where the first failover's cross-domain policy file would be.
Expected Results:
If you remove the fork="true" from the attached build.xml, you get this instead, which is correct:
[new RSLData("/content/mosaic/viewer/flex_sdks/flex_sdk_4.5.0.20967/framework_4.5.0.20967.swz",
"",
"9f67b1c289a5b5db7b32844af679e758541d101b46a7f75672258953804971ff",
"SHA-256",true,true,"default"),
new RSLData("/content/mosaic/viewer/flex_sdks/flex_sdk_4.5.0.20967/framework_4.5.0.20967.swf",
"",
"d067d77b8611b43c4f1da05b7603e706773ed9d89fc8235e8ec6d5f2a6fe7d47",
"SHA-256",false,true,"default"),
new RSLData("framework_4.5.0.20967.swz",
"",
"9f67b1c289a5b5db7b32844af679e758541d101b46a7f75672258953804971ff",
"SHA-256",true,true,"default"),
new RSLData("framework_4.5.0.20967.swf",
"",
"d067d77b8611b43c4f1da05b7603e706773ed9d89fc8235e8ec6d5f2a6fe7d47",
"SHA-256",false,true,"default"),
new RSLData("http://fpdownload.adobe.com/pub/swz/flex/4.5.0.20967/framework_4.5.0.20967.swz",
"http://fpdownload.adobe.com/pub/swz/crossdomain.xml",
"9f67b1c289a5b5db7b32844af679e758541d101b46a7f75672258953804971ff",
"SHA-256",true,true,"default")]]
Workaround (if any):
I found that if I supply a (bogus) non-empty value for the policy-file-url attribute in build.xml, that causes the code generation to be correct. The Flash Player appears to ignore the bogus entry once it tries and fails to load it during failover, but that's definitely not ideal. The other workaround, of course, is not to use fork="true".