LayerManagerOGL should hold a strong ref to its root layer

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: cjones, Assigned: cjones)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

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?
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
Duplicate of this bug: 572962
You need to log in before you can comment on or make changes to this bug.