- Copy the source rectangle after checking it
authorGregor Schneider <grschneider@gmail.com>
Sun, 16 Aug 2009 19:43:58 +0000 (19:43 +0000)
committerGregor Schneider <grschneider@gmail.com>
Sun, 16 Aug 2009 19:43:58 +0000 (19:43 +0000)
- Create input rectangle from destination size if source is not used

svn path=/trunk/; revision=42742

reactos/subsystems/win32/win32k/eng/stretchblt.c

index f008519..9973944 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS kernel
+ * PROJECT:          ReactOS Win32 kernelmode subsystem
  * PURPOSE:          GDI stretch blt functions
  * FILE:             subsystems/win32/win32k/eng/stretchblt.c
  * PROGRAMER:        Jason Filby
@@ -160,13 +160,13 @@ EngStretchBltROP(
         OutputRect.bottom = prclDest->top;
     }
 
-    InputRect = *prclSrc;
     if (UsesSource)
     {
         if (NULL == prclSrc)
         {
             return FALSE;
         }
+        InputRect = *prclSrc;
 
         if (! IntEngEnter(&EnterLeaveSource, psoSource, &InputRect, TRUE,
                           &Translate, &psoInput))
@@ -179,6 +179,13 @@ EngStretchBltROP(
         InputRect.top += Translate.y;
         InputRect.bottom += Translate.y;
     }
+    else
+    {
+        InputRect.left = 0;
+        InputRect.right = OutputRect.right - OutputRect.left;
+        InputRect.top = 0;
+        InputRect.bottom = OutputRect.bottom - OutputRect.top;
+    }
 
     if (NULL != ClipRegion)
     {