Closed Bug 573894 Opened 14 years ago Closed 14 years ago

LayerManagerOGL should hold a strong ref to its root layer

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: cjones, Assigned: cjones)

References

Details

Attachments

(1 file)

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: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: