Index: objects/metafile.c
===================================================================
RCS file: /home/wine/wine/objects/metafile.c,v
retrieving revision 1.8
diff -u -w -r1.8 metafile.c
--- objects/metafile.c	1999/02/26 11:11:31	1.8
+++ objects/metafile.c	1999/03/09 16:54:47
@@ -907,6 +907,17 @@
 
      case META_DIBBITBLT:
         {
+		/*In practice ive found that theres two layout for META_DIBBITBLT,
+		one (the first here) is the usual one when a src dc is actually passed
+		int, the second occurs when the src dc is passed in as NULL to
+		the creating BitBlt.
+		as the second case has no dib, a size check will suffice to distinguish.
+
+
+		Caolan.McNamara@ul.ie
+		*/
+		if (mr->rdSize > 12)
+			{
          LPBITMAPINFO info = (LPBITMAPINFO) &(mr->rdParm[8]);
          LPSTR bits = (LPSTR)info + DIB_BitmapInfoSize( info, mr->rdParm[0] );
          StretchDIBits16(hdc,mr->rdParm[7],mr->rdParm[6],mr->rdParm[5],
@@ -914,6 +925,13 @@
                        mr->rdParm[5],mr->rdParm[4],bits,info,
                        DIB_RGB_COLORS,MAKELONG(mr->rdParm[0],mr->rdParm[1]));
         }
+		else	/*equivalent to a PatBlt*/
+			{
+			PatBlt16(hdc, mr->rdParm[8], mr->rdParm[7],
+				 mr->rdParm[6], mr->rdParm[5],
+				 MAKELONG(*(mr->rdParm), *(mr->rdParm + 1)));
+			}
+        }
         break;	
        
      case META_SETTEXTCHAREXTRA:

