From e0c834ff3556aec5d413fd7eb783bdbb5c65655a Mon Sep 17 00:00:00 2001 From: "dbaron%dbaron.org" Date: Sun, 2 Nov 2003 03:14:00 +0000 Subject: [PATCH] Make opacity work on GTK2. b=201209 r=bryner sr=roc git-svn-id: svn://10.0.0.236/trunk@148715 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/gfx/src/gtk/nsDrawingSurfaceGTK.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mozilla/gfx/src/gtk/nsDrawingSurfaceGTK.cpp b/mozilla/gfx/src/gtk/nsDrawingSurfaceGTK.cpp index a6d89e2e434..0bf1b2be91b 100644 --- a/mozilla/gfx/src/gtk/nsDrawingSurfaceGTK.cpp +++ b/mozilla/gfx/src/gtk/nsDrawingSurfaceGTK.cpp @@ -174,7 +174,10 @@ NS_IMETHODIMP nsDrawingSurfaceGTK :: Lock(PRInt32 aX, PRInt32 aY, *aBits = GDK_IMAGE_XIMAGE(mImage)->data; - *aWidthBytes = aWidth*(mImage->bpp >> 3); + // Use GDK_IMAGE_XIMAGE(mImage)->bits_per_pixel instead of mImage->bpp + // since, although bpp is documented as *bytes* per pixel, GDK1 sometimes + // set it as *bits* per pixel. + *aWidthBytes = aWidth * ((GDK_IMAGE_XIMAGE(mImage)->bits_per_pixel + 7) / 8); *aStride = GDK_IMAGE_XIMAGE(mImage)->bytes_per_line; #ifdef CHEAP_PERFORMANCE_MEASUREMENT