Currently the root is being kept alive by DisplayItemData, which is probably mostly OK in practice but not quite what we want. Bas tells me that the reason LayerManagerOGL doesn't hold a strong ref to the root is that at some point layers held strong refs to their managers, so cycles were created. In the current code, AFAICT managees no longer hold strong refs to their managers so cycles shouldn't be a problem anymore.
(Also included in this patch is a minor fix to initialize mBackBufferSize, which valgrind complains about and is vulnerable to an extremely improbably bug.)
Assignee: nobody → jones.chris.g
Attachment #453278 - Flags: review?
9 years ago
Attachment #453278 - Flags: review? → review?(bas.schouten)
Comment on attachment 453278 [details] [diff] [review] Have LayerManagerOGL hold a strong ref to its root layer This should probably be done for D3D9 layers too.
Attachment #453278 - Flags: review?(bas.schouten) → review+
http://hg.mozilla.org/mozilla-central/rev/0fe7c3b4c0e5 Would prefer to fix D3D9 in a separate bug, not least among the reasons being that I don't know that code at all and can't test it ;).
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
9 years ago
Duplicate of this bug: 572962
You need to log in before you can comment on or make changes to this bug.