diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-08 07:48:28 +0000 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-06-08 07:48:28 +0000 |
commit | ba9e648ce2705ad1c4679325a9326c47263e2a3e (patch) | |
tree | 724cf5101a1b5923c235dc767b355a7b0e906eb7 /gfx/layers/composite/ImageLayerComposite.cpp | |
parent | c8300fbd6ae08925736c32f8b02c980ce1531f3f (diff) | |
parent | 19c0f5e9ff625c6a67e5e0a08f0a800782168492 (diff) | |
download | UXP-ba9e648ce2705ad1c4679325a9326c47263e2a3e.tar UXP-ba9e648ce2705ad1c4679325a9326c47263e2a3e.tar.gz UXP-ba9e648ce2705ad1c4679325a9326c47263e2a3e.tar.lz UXP-ba9e648ce2705ad1c4679325a9326c47263e2a3e.tar.xz UXP-ba9e648ce2705ad1c4679325a9326c47263e2a3e.zip |
Merge branch 'master' into remove-unboxed
Diffstat (limited to 'gfx/layers/composite/ImageLayerComposite.cpp')
-rw-r--r-- | gfx/layers/composite/ImageLayerComposite.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gfx/layers/composite/ImageLayerComposite.cpp b/gfx/layers/composite/ImageLayerComposite.cpp index bac9f3790..6867aaa22 100644 --- a/gfx/layers/composite/ImageLayerComposite.cpp +++ b/gfx/layers/composite/ImageLayerComposite.cpp @@ -50,9 +50,14 @@ bool ImageLayerComposite::SetCompositableHost(CompositableHost* aHost) { switch (aHost->GetType()) { - case CompositableType::IMAGE: - mImageHost = static_cast<ImageHost*>(aHost); + case CompositableType::IMAGE: { + ImageHost* newImageHost = static_cast<ImageHost*>(aHost); + if (mImageHost && newImageHost != mImageHost) { + mImageHost->Detach(this); + } + mImageHost = newImageHost; return true; + } default: return false; } |