diff -rup vcl-orig/inc/bitmap.hxx vcl/inc/bitmap.hxx
--- vcl-orig/inc/bitmap.hxx	2006-07-31 21:21:58.000000000 +0200
+++ vcl/inc/bitmap.hxx	2006-08-09 17:55:05.000000000 +0200
@@ -259,6 +259,8 @@ struct BitmapSystemData
     #else
     void* aPixmap;
     #endif
+    int mnWidth;
+    int mnHeight;
 };
 
 class VCL_DLLPUBLIC Bitmap
diff -rup vcl-orig/unx/source/gdi/salbmp.cxx vcl/unx/source/gdi/salbmp.cxx
--- vcl-orig/unx/source/gdi/salbmp.cxx	2006-07-31 21:22:00.000000000 +0200
+++ vcl/unx/source/gdi/salbmp.cxx	2006-08-09 17:55:51.000000000 +0200
@@ -869,6 +869,8 @@ bool X11SalBitmap::GetSystemData( Bitmap
         // prolly not a good idea, since it's accessed from
         // non-platform aware code in vcl/bitmap.hxx)
         rData.aPixmap = (void*)mpDDB->ImplGetPixmap();
+        rData.mnWidth = mpDDB->ImplGetWidth ();
+        rData.mnHeight = mpDDB->ImplGetHeight ();
         return true;
 	}
 
dummy line to avoid confusing diff-mode
--- vcl/win/source/gdi/salbmp.cxx
+++ vcl/win/source/gdi/salbmp.cxx
@@ -645,6 +645,9 @@
         bRet = true;
         rData.pDIB = mhDIB;
         rData.pDDB = mhDDB;
+        const Size& rSize = GetSize ();
+        rData.mnWidth = rSize.Width();
+        rData.mnHeight = rSize.Height();
     }
     return bRet;
 }
dummy line to avoid confusing diff-mode
