From ea7be198c3132bcbabc99f45d34fad056fdeb2d7 Mon Sep 17 00:00:00 2001 From: Gregor Schneider Date: Sun, 16 Aug 2009 19:43:58 +0000 Subject: [PATCH 1/1] - Copy the source rectangle after checking it - Create input rectangle from destination size if source is not used svn path=/trunk/; revision=42742 --- reactos/subsystems/win32/win32k/eng/stretchblt.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/reactos/subsystems/win32/win32k/eng/stretchblt.c b/reactos/subsystems/win32/win32k/eng/stretchblt.c index f008519fe9f..9973944dc65 100644 --- a/reactos/subsystems/win32/win32k/eng/stretchblt.c +++ b/reactos/subsystems/win32/win32k/eng/stretchblt.c @@ -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) { -- 2.17.1