Fixed argument checks, now NULL pointer are no longer dereferenced
in functions.
This commit is contained in:
parent
e5c138a5b9
commit
b190a16c5d
@ -909,7 +909,11 @@ BYTE* freerdp_icon_convert(BYTE* srcData, BYTE* dstData, BYTE* mask, int width,
|
|||||||
|
|
||||||
for (bit = 0; bit < 8; bit++)
|
for (bit = 0; bit < 8; bit++)
|
||||||
if ((bmask & (0x80 >> bit)) == 0)
|
if ((bmask & (0x80 >> bit)) == 0)
|
||||||
*(icon + (height - y - 1) * width + x + bit) |= 0xFF000000;
|
{
|
||||||
|
UINT32 *tmp = (icon + (height - y - 1) * width + x + bit);
|
||||||
|
if (tmp)
|
||||||
|
*tmp |= 0xFF000000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((width % 8) != 0)
|
if ((width % 8) != 0)
|
||||||
@ -918,7 +922,11 @@ BYTE* freerdp_icon_convert(BYTE* srcData, BYTE* dstData, BYTE* mask, int width,
|
|||||||
|
|
||||||
for (bit = 0; bit < width % 8; bit++)
|
for (bit = 0; bit < width % 8; bit++)
|
||||||
if ((bmask & (0x80 >> bit)) == 0)
|
if ((bmask & (0x80 >> bit)) == 0)
|
||||||
*(icon + (height - y - 1) * width + x + bit) |= 0xFF000000;
|
{
|
||||||
|
UINT32 *tmp = (icon + (height - y - 1) * width + x + bit);
|
||||||
|
if (tmp)
|
||||||
|
*tmp |= 0xFF000000;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Skip padding */
|
/* Skip padding */
|
||||||
|
@ -143,6 +143,9 @@ static int BitBlt_SRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
||||||
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
||||||
{
|
{
|
||||||
@ -204,6 +207,9 @@ static int BitBlt_NOTSRCCOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -251,6 +257,9 @@ static int BitBlt_SRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -276,6 +285,9 @@ static int BitBlt_NOTSRCERASE_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -301,6 +313,9 @@ static int BitBlt_SRCINVERT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -326,6 +341,9 @@ static int BitBlt_SRCAND_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -351,6 +369,9 @@ static int BitBlt_SRCPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -379,6 +400,9 @@ static int BitBlt_DSPDxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
UINT16 color16;
|
UINT16 color16;
|
||||||
HGDI_BITMAP hSrcBmp;
|
HGDI_BITMAP hSrcBmp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* D = (S & P) | (~S & D) */
|
/* D = (S & P) | (~S & D) */
|
||||||
/* DSPDxax, used to draw glyphs */
|
/* DSPDxax, used to draw glyphs */
|
||||||
|
|
||||||
@ -420,6 +444,9 @@ static int BitBlt_PSDPxax_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
UINT16* patp;
|
UINT16* patp;
|
||||||
UINT16 color16;
|
UINT16 color16;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* D = (S & D) | (~S & P) */
|
/* D = (S & D) | (~S & P) */
|
||||||
|
|
||||||
if (hdcDest->brush->style == GDI_BS_SOLID)
|
if (hdcDest->brush->style == GDI_BS_SOLID)
|
||||||
@ -473,6 +500,9 @@ static int BitBlt_SPna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
|||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
UINT16* patp;
|
UINT16* patp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -548,6 +578,9 @@ static int BitBlt_DSna_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -575,6 +608,9 @@ static int BitBlt_MERGECOPY_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
|||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
UINT16* patp;
|
UINT16* patp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -601,6 +637,9 @@ static int BitBlt_MERGEPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
|||||||
UINT16* srcp;
|
UINT16* srcp;
|
||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -732,6 +771,9 @@ static int BitBlt_PATPAINT_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
UINT16* dstp;
|
UINT16* dstp;
|
||||||
UINT16* patp;
|
UINT16* patp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT16*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -770,6 +812,9 @@ int BitBlt_16bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeigh
|
|||||||
|
|
||||||
gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight);
|
gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight);
|
||||||
|
|
||||||
|
if (!hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
switch (rop)
|
switch (rop)
|
||||||
{
|
{
|
||||||
case GDI_BLACKNESS:
|
case GDI_BLACKNESS:
|
||||||
|
@ -160,6 +160,9 @@ static int BitBlt_SRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
||||||
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
||||||
{
|
{
|
||||||
@ -221,6 +224,9 @@ static int BitBlt_NOTSRCCOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -268,6 +274,9 @@ static int BitBlt_SRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -293,6 +302,9 @@ static int BitBlt_NOTSRCERASE_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -318,6 +330,9 @@ static int BitBlt_SRCINVERT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -343,6 +358,9 @@ static int BitBlt_SRCAND_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -368,6 +386,9 @@ static int BitBlt_SRCPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -398,6 +419,9 @@ static int BitBlt_DSPDxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
UINT32 color32;
|
UINT32 color32;
|
||||||
HGDI_BITMAP hSrcBmp;
|
HGDI_BITMAP hSrcBmp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* D = (S & P) | (~S & D) */
|
/* D = (S & P) | (~S & D) */
|
||||||
|
|
||||||
color32 = gdi_get_color_32bpp(hdcDest, hdcDest->textColor);
|
color32 = gdi_get_color_32bpp(hdcDest, hdcDest->textColor);
|
||||||
@ -460,6 +484,9 @@ static int BitBlt_PSDPxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
UINT32* patp;
|
UINT32* patp;
|
||||||
UINT32 color32;
|
UINT32 color32;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* D = (S & D) | (~S & P) */
|
/* D = (S & D) | (~S & P) */
|
||||||
|
|
||||||
if (hdcDest->brush->style == GDI_BS_SOLID)
|
if (hdcDest->brush->style == GDI_BS_SOLID)
|
||||||
@ -514,6 +541,9 @@ static int BitBlt_SPDSxax_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
UINT32* patp;
|
UINT32* patp;
|
||||||
UINT32 color32;
|
UINT32 color32;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* D = S ^ (P & (D ^ S)) */
|
/* D = S ^ (P & (D ^ S)) */
|
||||||
|
|
||||||
if (hdcDest->brush->style == GDI_BS_SOLID)
|
if (hdcDest->brush->style == GDI_BS_SOLID)
|
||||||
@ -567,6 +597,9 @@ static int BitBlt_SPna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
|||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
UINT32* patp;
|
UINT32* patp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -594,6 +627,9 @@ static int BitBlt_DSna_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -670,6 +706,9 @@ static int BitBlt_MERGECOPY_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
|||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
UINT32* patp;
|
UINT32* patp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -697,6 +736,9 @@ static int BitBlt_MERGEPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
|||||||
UINT32* srcp;
|
UINT32* srcp;
|
||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -828,6 +870,9 @@ static int BitBlt_PATPAINT_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
UINT32* dstp;
|
UINT32* dstp;
|
||||||
UINT32* patp;
|
UINT32* patp;
|
||||||
|
|
||||||
|
if (!hdcDst || !hdcSrc)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = (UINT32*) gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -866,6 +911,9 @@ int BitBlt_32bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeigh
|
|||||||
|
|
||||||
gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight);
|
gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight);
|
||||||
|
|
||||||
|
if (!hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
switch (rop)
|
switch (rop)
|
||||||
{
|
{
|
||||||
case GDI_BLACKNESS:
|
case GDI_BLACKNESS:
|
||||||
|
@ -88,6 +88,9 @@ static int BitBlt_SRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
if ((hdcDest->selectedObject != hdcSrc->selectedObject) ||
|
||||||
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
gdi_CopyOverlap(nXDest, nYDest, nWidth, nHeight, nXSrc, nYSrc) == 0)
|
||||||
{
|
{
|
||||||
@ -149,6 +152,9 @@ static int BitBlt_NOTSRCCOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -196,6 +202,9 @@ static int BitBlt_SRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -221,6 +230,9 @@ static int BitBlt_NOTSRCERASE_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -246,6 +258,9 @@ static int BitBlt_SRCINVERT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -271,6 +286,9 @@ static int BitBlt_SRCAND_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidt
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -296,6 +314,9 @@ static int BitBlt_SRCPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -317,6 +338,9 @@ static int BitBlt_SRCPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
|
|
||||||
static int BitBlt_DSPDxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
static int BitBlt_DSPDxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HGDI_DC hdcSrc, int nXSrc, int nYSrc)
|
||||||
{
|
{
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* TODO: Implement 8bpp DSPDxax BitBlt */
|
/* TODO: Implement 8bpp DSPDxax BitBlt */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -329,6 +353,9 @@ static int BitBlt_PSDPxax_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWid
|
|||||||
BYTE* patp;
|
BYTE* patp;
|
||||||
BYTE color8;
|
BYTE color8;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
/* D = (S & D) | (~S & P) */
|
/* D = (S & D) | (~S & P) */
|
||||||
|
|
||||||
if (hdcDest->brush->style == GDI_BS_SOLID)
|
if (hdcDest->brush->style == GDI_BS_SOLID)
|
||||||
@ -382,6 +409,9 @@ static int BitBlt_SPna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
|||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
BYTE* patp;
|
BYTE* patp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -461,6 +491,9 @@ static int BitBlt_DSna_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth,
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -487,6 +520,9 @@ static int BitBlt_MERGECOPY_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nW
|
|||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
BYTE* patp;
|
BYTE* patp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -515,6 +551,9 @@ static int BitBlt_MERGEPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int n
|
|||||||
BYTE* srcp;
|
BYTE* srcp;
|
||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -646,6 +685,9 @@ static int BitBlt_PATPAINT_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWi
|
|||||||
BYTE* dstp;
|
BYTE* dstp;
|
||||||
BYTE* patp;
|
BYTE* patp;
|
||||||
|
|
||||||
|
if (!hdcSrc || !hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (y = 0; y < nHeight; y++)
|
for (y = 0; y < nHeight; y++)
|
||||||
{
|
{
|
||||||
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
srcp = gdi_get_bitmap_pointer(hdcSrc, nXSrc, nYSrc + y);
|
||||||
@ -683,6 +725,9 @@ int BitBlt_8bpp(HGDI_DC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight
|
|||||||
|
|
||||||
gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight);
|
gdi_InvalidateRegion(hdcDest, nXDest, nYDest, nWidth, nHeight);
|
||||||
|
|
||||||
|
if (!hdcDest)
|
||||||
|
return 1;
|
||||||
|
|
||||||
switch (rop)
|
switch (rop)
|
||||||
{
|
{
|
||||||
case GDI_BLACKNESS:
|
case GDI_BLACKNESS:
|
||||||
|
Loading…
Reference in New Issue
Block a user