Make extra sure Compositables don't refer back to layers after reassignment.

This commit is contained in:
wolfbeast 2019-05-28 15:18:04 +02:00 committed by Roy Tam
commit 706ac5f0a4
3 changed files with 19 additions and 5 deletions

View file

@ -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;
}