diff --git a/gfx/layers/d3d9/ContainerLayerD3D9.cpp b/gfx/layers/d3d9/ContainerLayerD3D9.cpp index 5ed9eee70f38..3e6a21d39c9d 100644 --- a/gfx/layers/d3d9/ContainerLayerD3D9.cpp +++ b/gfx/layers/d3d9/ContainerLayerD3D9.cpp @@ -141,6 +141,7 @@ ContainerLayerD3D9::RenderLayer() nsRefPtr previousRenderTarget; nsRefPtr renderTexture; float previousRenderTargetOffset[4]; + RECT oldClipRect; float renderTargetOffset[] = { 0, 0, 0, 0 }; float oldViewMatrix[4][4]; @@ -149,6 +150,7 @@ ContainerLayerD3D9::RenderLayer() if (useIntermediate) { device()->GetRenderTarget(0, getter_AddRefs(previousRenderTarget)); + device()->GetScissorRect(&oldClipRect); device()->CreateTexture(visibleRect.width, visibleRect.height, 1, D3DUSAGE_RENDERTARGET, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, getter_AddRefs(renderTexture), @@ -224,6 +226,7 @@ ContainerLayerD3D9::RenderLayer() if (useIntermediate) { device()->SetRenderTarget(0, previousRenderTarget); + device()->SetScissorRect(&oldClipRect); device()->SetVertexShaderConstantF(12, previousRenderTargetOffset, 1); device()->SetVertexShaderConstantF(8, &oldViewMatrix[0][0], 4);