Hi

Yes I've just checked and Array.insertAt() is just specified for SWF version 30 
and upward. There's no version with different parameters that I can see. I will 
check with the Flash engineering team though..
See https://github.com/adobe/avmplus/blob/master/core/Array.as

In terms of a workaround here: we're going to make a small change to allow the 
runtime to work with the old APIs or the new ones. So no more VerifyError 
problems if you're running an older Flex app on the new runtime.

What we can't change though is the compiler, so compiling against the new 
airglobals.swc file will require the Flex APIs to be updated to the new 
function signatures.

The alternative would be to revert the APIs and provide them instead under a 
"flash.geom2" namespace (or preferably, "air.geom"..) - I'd be interested in 
your opinions, I'm not really sure how many people would be impacted by this. 
Happy to contribute the necessary changes into the Flex SDK, it's not a huge 
number of changes.. 

thanks

   Andrew


-----Original Message-----
From: Alex Harui <aha...@adobe.com.INVALID> 
Sent: 04 March 2020 08:31
To: users@flex.apache.org
Subject: [EXTERNAL] Re: Flex 4.16.1 broken for AIR33.1?

Hi Andrew,

I don't know about additional parameters, but have you looked at how 
Array.insertAt is handled in the runtime?  It was added in AIR 19, and I'm 
pretty sure you will get different compiler results from compiling against AIR 
18, and different runtime behavior based on the swfversion as well.

I thought there have been parameter changes as well, but I can't remember any 
right now.

HTH,
-Alex

On 3/3/20, 10:13 PM, "Frost, Andrew" <andrew.fr...@harman.com> wrote:

    Hi 
    
    Apologies for causing the extra hassle here. There doesn't appear to be a 
way for us to specify an API to be removed from the AS3 definitions at a 
particular SWF version, which actually meant we couldn't add the changes in a 
version-checked manner (i.e. our initial aim was to adjust the API based on the 
-swf-version value but we can only add new APIs in this way, rather than 
changing an existing one).
    
    We've investigated the impact here a little further, and it looks like (for 
overriding the functions):
    1) when you build the existing code (without the new parameters) then you 
need to use the old airglobal.swc file for this
    2) an app built using the old airglobal.swc then won't run on the new AIR 
runtime
    3) an app built using the new airglobal.swc then won't run on an older AIR 
runtime
    
    Part 3 here is what would also be the case if you were just using the new 
APIs: our original intent was that if you chose to use the new API then of 
course you need to compile with AIR 33.1 SDK and run it on AIR 33.1.
    
    I was going to suggest that the Flex code could be updated to add in the 
extra parameters for these overrides but I think we would still have an issue 
with #2, i.e. existing Flex applications will not work if run on AIR 33.1... 
That's definitely not a good thing, in my opinion!
    
    So I think we need to rethink this one; I would suggest holding off making 
any code changes here (i.e. don't use AIR 33.1!) as there may be some other 
options here (the obvious one being, revert the APIs...)
    
    thanks
    
       Andrew
    
    
    -----Original Message-----
    From: Greg Dove <greg.d...@gmail.com> 
    Sent: 03 March 2020 20:32
    To: users@flex.apache.org
    Subject: [EXTERNAL] Re: Flex 4.16.1 broken for AIR33.1?
    
    That sounds like there might be a few of these. Any classes that extend the 
native ones inside mx.geom will likely need attention for the affected 
overridden methods.
    
    
    On Wed, Mar 4, 2020 at 9:00 AM leokan23 <l...@best-web.gr> wrote:
    
    > Changing the -swf-version didn't do the trick. This is the change they 
did:
    >
    > /Update geometry APIs to allow object pooling, so for example, rather 
    > than creating and returning new Point, Matrix, Vector3D etc objects, 
    > functions within the flash.geom.* classes will take an optional 
    > parameter that can be an object to reuse and return. /
    >
    > I will try messing around with Transform.as next.
    >
    >
    >
    >
    >
    >
    > --
    > Sent from: 
    > 
https://clicktime.symantec.com/38NMYfbFR4zB7vN47iJqKvF7Vc?u=https%3A%2F%2Fnam04.safelinks.protection.outlook.com%2F%3Furl%3Dhttps%253A%252F%252Fclicktime.symantec.com%252F3PG82YtwHLcZuLsBDbCLtTt7Vc%253Fu%253Dhttp%25253A%25252F%25252Fapache-flex-users.2333346.n4.nabble.com%25252F%26data%3D02%257C01%257Caharui%2540adobe.com%257Ca072ee5deed341a30e5f08d7c0032a5e%257Cfa7b1b5a7b34438794aed2c178decee1%257C0%257C0%257C637188992144497184%26sdata%3DcCJ7uNX7G%252F47zmorxixVID4UN3InK83f%252BhYNMyMHLFU%253D%26reserved%3D0
    >
    

Reply via email to