Fix BitBlt MERGEPAINT operation command.
authorGregor Schneider <grschneider@gmail.com>
Sun, 9 Nov 2008 18:38:02 +0000 (18:38 +0000)
committerGregor Schneider <grschneider@gmail.com>
Sun, 9 Nov 2008 18:38:02 +0000 (18:38 +0000)
svn path=/trunk/; revision=37268

reactos/subsystems/win32/win32k/dib/dib.c
reactos/tools/gendib/gendib.c

index fc02587..036dc76 100644 (file)
@@ -173,7 +173,7 @@ DIB_DoRop(ULONG Rop, ULONG Dest, ULONG Source, ULONG Pattern)
     case ROP3_TO_ROP4(PATINVERT):   return(Dest ^ Pattern);
     case ROP3_TO_ROP4(SRCINVERT):   return(Dest ^ Source);
     case ROP3_TO_ROP4(SRCAND):      return(Dest & Source);
-    case ROP3_TO_ROP4(MERGEPAINT):  return(Dest & (~Source));
+    case ROP3_TO_ROP4(MERGEPAINT):  return(Dest | (~Source));
     case ROP3_TO_ROP4(SRCPAINT):    return(Dest | Source);
     case ROP3_TO_ROP4(MERGECOPY):   return(Source & Pattern);
     case ROP3_TO_ROP4(SRCCOPY):     return(Source);
index 1071c50..5fd50ec 100644 (file)
@@ -147,7 +147,7 @@ FindRopInfo(unsigned RopCode)
       { ROPCODE_SRCINVERT,   "SRCINVERT",  "D ^ S",        1, 1, 0 },
       { ROPCODE_SRCAND,      "SRCAND",     "D & S",        1, 1, 0 },
       { ROPCODE_NOOP,        "NOOP",       "D",            1, 0, 0 },
-      { ROPCODE_MERGEPAINT,  "MERGEPAINT", "D & (~S)",     1, 1, 0 },
+      { ROPCODE_MERGEPAINT,  "MERGEPAINT", "D | (~S)",     1, 1, 0 },
       { ROPCODE_MERGECOPY,   "MERGECOPY",  "S & P",        0, 1, 1 },
       { ROPCODE_SRCCOPY,     "SRCCOPY",    "S",            0, 1, 0 },
       { ROPCODE_SRCPAINT,    "SRCPAINT",   "D | S",        1, 1, 0 },