Sorry I was errm a bit...dizzy
Modified: trunk/reactos/subsys/win32k/dib/dib.h
Modified: trunk/reactos/subsys/win32k/dib/dib32bpp.c

Modified: trunk/reactos/subsys/win32k/dib/dib.h
--- trunk/reactos/subsys/win32k/dib/dib.h	2005-06-04 13:24:50 UTC (rev 15770)
+++ trunk/reactos/subsys/win32k/dib/dib.h	2005-06-04 13:38:48 UTC (rev 15771)
@@ -120,7 +120,7 @@
 BOOLEAN DIB_32BPP_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIPOBJ*,XLATEOBJ*,ULONG);
 BOOLEAN DIB_32BPP_TransparentBlt(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULONG);
 
-VOID FASTCALL DIB_32DstInvert(PBLTINFO BltInfo);
+BOOLEAN FASTCALL DIB_32DstInvert(PBLTINFO BltInfo);
 BOOLEAN DIB32_Srccopy(PBLTINFO BltInfo);
 BOOLEAN DIB32_ColorFill(PBLTINFO BltInfo, ULONG);
 BOOLEAN DIB32_SrcPaint(PBLTINFO BltInfo);

Modified: trunk/reactos/subsys/win32k/dib/dib32bpp.c
--- trunk/reactos/subsys/win32k/dib/dib32bpp.c	2005-06-04 13:24:50 UTC (rev 15770)
+++ trunk/reactos/subsys/win32k/dib/dib32bpp.c	2005-06-04 13:38:48 UTC (rev 15771)
@@ -398,24 +398,24 @@
 }
 
 /* optimze functions for bitblt */
-VOID
+BOOLEAN
 FASTCALL
 DIB_32DstInvert(PBLTINFO BltInfo)   
 {
     PULONG DestBits;
     ULONG top  = BltInfo->DestRect.top; 
-    ULONG bottom = BltInfo->DestRect.left;
+    ULONG left = BltInfo->DestRect.left;
     ULONG DestX = BltInfo->DestRect.right - left;
     ULONG DestY = BltInfo->DestRect.bottom - top;
-    ULONG delta  = BltInfo->DestSurface->lDelta - (DestX << 2);
+    ULONG delta = BltInfo->DestSurface->lDelta - (DestX << 2);
 
     /* Calculate the Initial Destination */
     DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (left  << 2) +
                         top * BltInfo->DestSurface->lDelta);
 
-    do while (DestY > 0)
+    while (DestY > 0)
     {      
-        do while (DestX > 0)
+        while (DestX > 0)
         {
             /* Invert bits */
             *DestBits =~ *DestBits;
@@ -433,6 +433,9 @@
         /* Decrease distance to do */
         DestY--;
     }
+    
+    /* Return TRUE */
+    return TRUE;
 }
 
 BOOLEAN