strk wrote:
There are many such cases in Gnash. Gnash is pickier about types
than the proprietary player. This case should be not too hard to fix,
probably just change the ensureType to require an as_object should work.

If I understand this correctly, casting to as_object works in this particular case because "getURL" only ever invokes methods that are defined right in as_object, such as "callMethod" and "getURLEncodedVars". It doesn't work in "movieclip_getSWFVersion" because that invokes "getSWFVersion", which is defined in class "MovieClip". Correct?


However, I don't fully understand when and where the object created in ActionScript with "new MovieClip()" ceases to be of type MovieClip*. I assume the "new MovieClip()" in ActionScript leads to a "new MovieClip()" in C++. Isn't this MovieClip* just being upcasted to as_object* (while being the same "this" pointer)? Obviously not, because the "dynamic_cast" back to MovieClip* doesn't work. Where in the C++ code does the MovieClip lose its MovieClip-ness? (I know this is a basic question, but any insights are greatly appreciated.)

Kind Regards,
M.F.


_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev

Reply via email to