зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1136487: Destroy the compositors for all windows when any window detects a device reset. r=jrmuizel
This commit is contained in:
Родитель
e4d15a45bb
Коммит
c7306e4a06
|
@ -6538,6 +6538,15 @@ bool nsWindow::AutoErase(HDC dc)
|
|||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
nsWindow::ClearCompositor(nsWindow* aWindow)
|
||||
{
|
||||
if (aWindow->mLayerManager) {
|
||||
aWindow->mLayerManager = nullptr;
|
||||
aWindow->DestroyCompositor();
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
nsWindow::ShouldUseOffMainThreadCompositing()
|
||||
{
|
||||
|
|
|
@ -238,6 +238,8 @@ public:
|
|||
*/
|
||||
virtual bool AutoErase(HDC dc);
|
||||
|
||||
static void ClearCompositor(nsWindow* aWindow);
|
||||
|
||||
/**
|
||||
* AssociateDefaultIMC() associates or disassociates the default IMC for
|
||||
* the window.
|
||||
|
|
|
@ -193,8 +193,7 @@ bool nsWindow::OnPaint(HDC aDC, uint32_t aNestingLevel)
|
|||
|
||||
if (gfxWindowsPlatform::GetPlatform()->DidRenderingDeviceReset()) {
|
||||
gfxWindowsPlatform::GetPlatform()->UpdateRenderMode();
|
||||
mLayerManager = nullptr;
|
||||
DestroyCompositor();
|
||||
EnumAllWindows(ClearCompositor);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче