diff --git a/mozilla/gfx/src/thebes/nsThebesDeviceContext.cpp b/mozilla/gfx/src/thebes/nsThebesDeviceContext.cpp index 2716278f9b5..45dd916d6e8 100644 --- a/mozilla/gfx/src/thebes/nsThebesDeviceContext.cpp +++ b/mozilla/gfx/src/thebes/nsThebesDeviceContext.cpp @@ -240,8 +240,12 @@ nsThebesDeviceContext::SetDPI() // dev pixels per CSS pixel. Then, divide that into AppUnitsPerCSSPixel() // to get the number of app units per dev pixel. The PR_MAXes are to // make sure we don't end up dividing by zero. - mAppUnitsPerDevNotScaledPixel = PR_MAX(1, AppUnitsPerCSSPixel() / - PR_MAX(1, dpi / 96)); + PRUint32 roundedDPIScaleFactor = (dpi + 48)/96; +#ifdef MOZ_WIDGET_GTK2 + roundedDPIScaleFactor = dpi/96; +#endif + mAppUnitsPerDevNotScaledPixel = + PR_MAX(1, AppUnitsPerCSSPixel() / PR_MAX(1, roundedDPIScaleFactor)); } else { /* set mAppUnitsPerDevPixel so we're using exactly 72 dpi, even * though that means we have a non-integer number of device "pixels"