diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-05-28 15:18:04 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-05-28 15:18:04 +0200 |
commit | 9b655e3666a6eae6f217e584ef3915c8ff99ddc1 (patch) | |
tree | 31861f345384317ea7a99e1520e24519f9c07304 /gfx/layers/composite/CanvasLayerComposite.cpp | |
parent | 65991dc1f2d197bed4657780d7f3b0204a78bb4e (diff) | |
download | UXP-9b655e3666a6eae6f217e584ef3915c8ff99ddc1.tar UXP-9b655e3666a6eae6f217e584ef3915c8ff99ddc1.tar.gz UXP-9b655e3666a6eae6f217e584ef3915c8ff99ddc1.tar.lz UXP-9b655e3666a6eae6f217e584ef3915c8ff99ddc1.tar.xz UXP-9b655e3666a6eae6f217e584ef3915c8ff99ddc1.zip |
Make extra sure Compositables don't refer back to layers after reassignment.
Diffstat (limited to 'gfx/layers/composite/CanvasLayerComposite.cpp')
-rw-r--r-- | gfx/layers/composite/CanvasLayerComposite.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gfx/layers/composite/CanvasLayerComposite.cpp b/gfx/layers/composite/CanvasLayerComposite.cpp index 3c8299e05..86f25b1ee 100644 --- a/gfx/layers/composite/CanvasLayerComposite.cpp +++ b/gfx/layers/composite/CanvasLayerComposite.cpp @@ -43,9 +43,13 @@ bool CanvasLayerComposite::SetCompositableHost(CompositableHost* aHost) { switch (aHost->GetType()) { - case CompositableType::IMAGE: + case CompositableType::IMAGE: { + if (mCompositableHost && aHost != mCompositableHost) { + mCompositableHost->Detach(this); + } mCompositableHost = aHost; return true; + } default: return false; } |