gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [bug #38084] Superclass prototype method call failure


From: bl0ckeduser
Subject: [Gnash-commit] [bug #38084] Superclass prototype method call failure
Date: Mon, 14 Jan 2013 17:59:52 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0

URL:
  <http://savannah.gnu.org/bugs/?38084>

                 Summary: Superclass prototype method call failure
                 Project: Gnash - The GNU Flash player
            Submitted by: bl0ckeduser
            Submitted on: Mon 14 Jan 2013 05:59:51 PM GMT
                Category: None
                Severity: 3 - Normal
                 Release: master
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

Hello

I'm trying to run an old Flash (SWF version 6) chat program in
Gnash. It uses XML sockets. The program runs fully on the
latest Adobe Flash player, but on Gnash (checked out from
Git in early January 2013) the XML socket connection fails,
and I've traced this failure to the following line, decompiled
from the SWF file using the utility flare:

  var connectSuccess = this.connect(this.host, this.port);

When the program is run in Gnash, the variable connectSuccess
gets assigned the value "undefined" and the connection fails.

Looking back at the debugging logs I see:

PC:4753 - EX: ActionNew
---new object: XMLSocket
2669:1] 2265 DEBUG: Loading native class XMLSocket
After execution: PC 4753, next PC 4754, stack follows
Stack: "[object(gnash::Function):0x7f92b907c890]"
| "[string:prototype]"
| "[object(gnash::XMLSocket_as):0x7f92b903c1a0]"

PC:4754 - EX: ActionSetMember
-- set_member [object(gnash::Function):0x7f92b907c890].
prototype=[object(gnash::XMLSocket_as):0x7f92b903c1a0]

Then, several lines later:

set_member [object(gnash::as_object):0x7f92b83c97d0]
.superclass=[object(gnash::Function):0x7f92b907c890]

And later again:

PC:4951 - EX: ActionCallMethod
 method name: [string:connect]
 method object/func: [object(gnash::as_object):0x7f92b83c97d0]
 method nargs: 2
2669:1] 6705 ACTIONSCRIPT ERROR: ActionCallMethod: Function
requiring gnash::XMLSocket_as* as 'this' called from gnash::as_object*
instance.

As far as I can tell, an object (0x7f92b83c97d0) is
being given as superclass a function (0x7f92b907c890)
which has as prototype an XML_Socket (0x7f92b903c1a0),
and then calling of the method "connect" on the object
fails. "connect" is part of the XML_Socket class.

The relevant code appears to be in the method
ActionCallMethod of the file libcore/vm/ASHandlers.cpp.

Now this is mostly guesswork on my part, as I do not
know C++ or ActionScript very well, but I'd certainly
like to be able to contribute to the improvement of this
software, because Adobe only distributes binary versions
of its player for a few select platforms, and nothing
guarantees that it will continue to do this in the future.

I have tried to fix this bug myself but it has proven
too confusing due to my lack of C++ skills.





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?38084>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]