Bug 603071 - Part 1: Properly propagate LayerManager destruction through layer tree. r=roc a=blocking-beta8

This commit is contained in:
Bas Schouten 2010-10-19 21:08:31 +02:00
Родитель 2a9c8711b6
Коммит 83961c800b
2 изменённых файлов: 14 добавлений и 0 удалений

Просмотреть файл

@ -84,6 +84,7 @@ LayerManagerD3D10::LayerManagerD3D10(nsIWidget *aWidget)
LayerManagerD3D10::~LayerManagerD3D10()
{
Destroy();
}
bool
@ -201,6 +202,17 @@ LayerManagerD3D10::Initialize()
return true;
}
void
LayerManagerD3D10::Destroy()
{
if (!IsDestroyed()) {
if (mRoot) {
static_cast<LayerD3D10*>(mRoot->ImplData())->LayerManagerDestroyed();
}
}
LayerManager::Destroy();
}
void
LayerManagerD3D10::SetRoot(Layer *aRoot)
{

Просмотреть файл

@ -91,6 +91,8 @@ public:
/*
* LayerManager implementation.
*/
virtual void Destroy();
virtual void SetRoot(Layer *aLayer);
void BeginTransaction();