patchGnash - The GNU Flash player - Patches: patch #8720, Patch for fixing GC-related issue...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #8720: Patch for fixing GC-related issue in ExternalInterface registration

Submitter:  Nutchanon Wetchasit <nachanon>
Submitted:  Wed 19 Aug 2015 09:39:39 AM UTC
   
 
Category:  core Priority:  5 - Normal
Status:  Done Privacy:  Public
Assigned to:  strk Open/Closed:  Closed

Tue 08 Sep 2015 07:58:07 PM UTC, comment #2: 

+    for (std::map<std::string, as_object*>::const_iterator method_iterator
+             = _externalCallbackMethods.begin();
+         method_iterator != _externalCallbackMethods.end();
+         method_iterator++)

I have a minor quibble with this, and that is that due to the vagaries of C++, method_iterator++ is actually slower than ++method_iterator.

At any rate, in c2f388e26873b I simply converted these loops to C++11 syntax, which avoids this issue and is also a lot less typing.

Bastiaan Jacques <bjacques>
Group Member
Wed 19 Aug 2015 10:32:14 AM UTC, comment #1: 

Thanks for working on tests ! :)
Pushed as 88f86a3

Sandro Santilli <strk>
Group Member
Wed 19 Aug 2015 09:39:39 AM UTC, original submission:  

This is a follow-up to patch #8715 (ExternalInterface callback fix).

Both of original patches have a GC-related code that was not working as expected
This patch should fix the problem by moving `as_object.setReachable()` call
from `movie_root.addExternalCallback()` to `movie_root.markReachableResources()`
which is normally responsible for this task, and run on every GC iteration.

See the attached `0003_add-externalinterface-gc-provision.patch`.
Might need a review, since I didn't know much about Gnash's GC mechanism.

Gnash: 0.8.11dev (patched against git c5b657f 17-Aug-2015) NPAPI
Browser: Iceweasel 10.0.12 (debian)
System: Debian GNU/Linux 7.0 Wheezy i386

Nutchanon Wetchasit <nachanon>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #34677:  0003_add-externalinterface-gc-provision.patch added by nachanon (2KiB - text/x-patch - Patch to fix ExternalInterface's GC provision)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bjacques (Posted a comment)
  • -email is unavailable- added by strk (Posted a comment)
  • -email is unavailable- added by nachanon (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-08-19 strk StatusNone Done
        Assigned toNone strk
        Open/ClosedOpen Closed
    2015-08-19 nachanon Attached File- Added 0003_add-externalinterface-gc-provision.patch, #34677

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code