Author: gschneider
Date: Sun Aug 16 21:43:58 2009
New Revision: 42742
URL:
http://svn.reactos.org/svn/reactos?rev=42742&view=rev
Log:
- Copy the source rectangle after checking it
- Create input rectangle from destination size if source is not used
Modified:
trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c
Modified: trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/eng/stretchblt.c [iso-8859-1] Sun Aug 16
21:43:58 2009
@@ -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 @@
OutputRect.bottom = prclDest->top;
}
- InputRect = *prclSrc;
if (UsesSource)
{
if (NULL == prclSrc)
{
return FALSE;
}
+ InputRect = *prclSrc;
if (! IntEngEnter(&EnterLeaveSource, psoSource, &InputRect, TRUE,
&Translate, &psoInput))
@@ -178,6 +178,13 @@
InputRect.right += Translate.x;
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)