diff --git a/gfx/src/windows/nsRenderingContextWin.cpp b/gfx/src/windows/nsRenderingContextWin.cpp index b6ba4e75e20b..a2241e82b3ec 100644 --- a/gfx/src/windows/nsRenderingContextWin.cpp +++ b/gfx/src/windows/nsRenderingContextWin.cpp @@ -2842,11 +2842,18 @@ NS_IMETHODIMP nsRenderingContextWin::DrawTile(nsIImage *aImage,nscoord aX0,nscoord aY0,nscoord aX1,nscoord aY1, nscoord aWidth,nscoord aHeight) { -PRBool didtile = FALSE; +nscoord orgX,orgY,orgWidth,orgHeight; +PRBool didtile = FALSE; // convert output platform, but no translation.. just scale + orgX = aX0; + orgY = aY0; + orgWidth = aX1 - aX0; + orgHeight = aY1 - aY0; mTranMatrix->TransformCoord(&aX0,&aY0,&aWidth,&aHeight); - mTranMatrix->TransformCoord(&aX1,&aY1); + mTranMatrix->TransformCoord(&orgX,&orgY,&orgWidth,&orgHeight); + aX1 = aX0 + orgWidth; + aY1 = aY0 + orgHeight; if ( PR_TRUE==CanTile(aWidth,aHeight) ) { didtile = ((nsImageWin*)aImage)->PatBltTile(*this,mSurface,aX0,aY0,aX1,aY1,aWidth,aHeight); @@ -2884,7 +2891,7 @@ PRInt32 canRaster; } else { // windows NT - return PR_TRUE; + return PR_FALSE; } } else { return PR_FALSE;