mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
- Don't allocate 0 bytes in EngCreateBitmap. Patch by Waldo Alvarez Ca�izares.
- Fix distortion by StretchBlt. Patch based on investigations by Waldo Alvarez Ca�izares. svn path=/trunk/; revision=8175
This commit is contained in:
parent
74974a631d
commit
a3f6dab278
3 changed files with 18 additions and 11 deletions
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: dib16bpp.c,v 1.17 2003/12/23 19:28:23 navaraf Exp $ */
|
/* $Id: dib16bpp.c,v 1.18 2004/02/14 22:24:54 navaraf Exp $ */
|
||||||
#undef WIN32_LEAN_AND_MEAN
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -422,7 +422,7 @@ void ScaleRectAvg16(PIXEL *Target, PIXEL *Source, int SrcWidth, int SrcHeight,
|
||||||
int TgtWidth, int TgtHeight, int srcPitch, int dstPitch)
|
int TgtWidth, int TgtHeight, int srcPitch, int dstPitch)
|
||||||
{
|
{
|
||||||
int NumPixels = TgtHeight;
|
int NumPixels = TgtHeight;
|
||||||
int IntPart = (SrcHeight / TgtHeight) * (SrcWidth+1);
|
int IntPart = (SrcHeight / TgtHeight) * SrcWidth;
|
||||||
int FractPart = SrcHeight % TgtHeight;
|
int FractPart = SrcHeight % TgtHeight;
|
||||||
int Mid = TgtHeight / 2;
|
int Mid = TgtHeight / 2;
|
||||||
int E = 0;
|
int E = 0;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: dib8bpp.c,v 1.12 2003/12/23 19:28:23 navaraf Exp $ */
|
/* $Id: dib8bpp.c,v 1.13 2004/02/14 22:24:54 navaraf Exp $ */
|
||||||
#undef WIN32_LEAN_AND_MEAN
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -393,7 +393,7 @@ void ScaleRectAvg8(PIXEL *Target, PIXEL *Source, int SrcWidth, int SrcHeight,
|
||||||
int TgtWidth, int TgtHeight, int srcPitch, int dstPitch)
|
int TgtWidth, int TgtHeight, int srcPitch, int dstPitch)
|
||||||
{
|
{
|
||||||
int NumPixels = TgtHeight;
|
int NumPixels = TgtHeight;
|
||||||
int IntPart = (SrcHeight / TgtHeight) * (SrcWidth+1);
|
int IntPart = (SrcHeight / TgtHeight) * SrcWidth;
|
||||||
int FractPart = SrcHeight % TgtHeight;
|
int FractPart = SrcHeight % TgtHeight;
|
||||||
int Mid = TgtHeight / 2;
|
int Mid = TgtHeight / 2;
|
||||||
int E = 0;
|
int E = 0;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: surface.c,v 1.31 2004/02/08 21:37:52 weiden Exp $
|
/* $Id: surface.c,v 1.32 2004/02/14 22:24:54 navaraf Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -351,15 +351,22 @@ EngCreateBitmap(IN SIZEL Size,
|
||||||
SurfObj->pvBits = UncompressedBits;
|
SurfObj->pvBits = UncompressedBits;
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
if(Flags & BMF_USERMEM)
|
if (SurfObj->cjBits == 0)
|
||||||
{
|
{
|
||||||
SurfObj->pvBits = EngAllocUserMem(SurfObj->cjBits, 0);
|
SurfObj->pvBits = NULL;
|
||||||
} else {
|
}
|
||||||
if(Flags & BMF_NOZEROINIT)
|
else
|
||||||
|
{
|
||||||
|
if(Flags & BMF_USERMEM)
|
||||||
{
|
{
|
||||||
SurfObj->pvBits = EngAllocMem(0, SurfObj->cjBits, 0);
|
SurfObj->pvBits = EngAllocUserMem(SurfObj->cjBits, 0);
|
||||||
} else {
|
} else {
|
||||||
SurfObj->pvBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, 0);
|
if(Flags & BMF_NOZEROINIT)
|
||||||
|
{
|
||||||
|
SurfObj->pvBits = EngAllocMem(0, SurfObj->cjBits, 0);
|
||||||
|
} else {
|
||||||
|
SurfObj->pvBits = EngAllocMem(FL_ZERO_MEMORY, SurfObj->cjBits, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue