diff --git a/widget/src/windows/nsWindow.cpp b/widget/src/windows/nsWindow.cpp index 5db06086cdc..853ad99136c 100644 --- a/widget/src/windows/nsWindow.cpp +++ b/widget/src/windows/nsWindow.cpp @@ -3168,6 +3168,14 @@ nsWindow::GetLayerManager() return nsBaseWidget::GetLayerManager(); } + /* We don't currently support using an accelerated layer manager with + * transparent windows so don't even try. I'm also not sure if we even + * want to support this case. See bug #593471 */ + if (eTransparencyTransparent == mTransparencyMode) { + mUseAcceleratedRendering = PR_FALSE; + return nsBaseWidget::GetLayerManager(); + } + if (topWindow->GetAcceleratedRendering() != mUseAcceleratedRendering) { mLayerManager = NULL; mUseAcceleratedRendering = topWindow->GetAcceleratedRendering();