From bd691c850cd8bab1464b34355ae5810ca8b32a51 Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Tue, 5 Jul 2005 00:57:47 +0000 Subject: [PATCH] fix code that depends on GCC's void* pointer arithmetic extension svn path=/trunk/; revision=16421 --- reactos/ntoskrnl/cc/copy.c | 57 +++++----------------- reactos/ntoskrnl/cc/pin.c | 11 +---- reactos/ntoskrnl/ke/i386/exp.c | 6 +-- reactos/ntoskrnl/mm/i386/page.c | 20 ++++---- reactos/ntoskrnl/mm/region.c | 21 +------- reactos/subsys/csrss/win32csr/conio.c | 10 ++-- reactos/subsys/csrss/win32csr/tuiconsole.c | 2 +- reactos/subsys/system/usetup/cabinet.c | 2 +- reactos/subsys/win32k/dib/dib16bpp.c | 40 +++++++-------- reactos/subsys/win32k/dib/dib1bpp.c | 6 +-- reactos/subsys/win32k/dib/dib24bpp.c | 30 ++++++------ reactos/subsys/win32k/dib/dib32bpp.c | 48 +++++++++--------- reactos/subsys/win32k/dib/dib4bpp.c | 18 +++---- reactos/subsys/win32k/dib/dib8bpp.c | 40 +++++++-------- reactos/subsys/win32k/eng/bitblt.c | 4 +- reactos/subsys/win32k/ldr/loader.c | 10 ++-- reactos/subsys/win32k/ntuser/menu.c | 2 +- 17 files changed, 135 insertions(+), 192 deletions(-) diff --git a/reactos/ntoskrnl/cc/copy.c b/reactos/ntoskrnl/cc/copy.c index 73506f91439..0d775e5edf3 100644 --- a/reactos/ntoskrnl/cc/copy.c +++ b/reactos/ntoskrnl/cc/copy.c @@ -89,15 +89,9 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length, { TempLength = min(Bcb->CacheSegmentSize, Length); memcpy(Buffer, current->BaseAddress, TempLength); -#if defined(__GNUC__) - Buffer += TempLength; -#else - { - char* pTemp = Buffer; - pTemp += TempLength; - Buffer = pTemp; - } -#endif + + Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength); + Length = Length - TempLength; previous = current; current = current->NextInChain; @@ -180,15 +174,9 @@ ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length, current = current->NextInChain; TempLength = min(Bcb->CacheSegmentSize, Length); memcpy(Buffer, previous->BaseAddress, TempLength); -#if defined(__GNUC__) - Buffer += TempLength; -#else - { - char* pTemp = Buffer; - pTemp += TempLength; - Buffer = pTemp; - } -#endif + + Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength); + Length = Length - TempLength; CcRosReleaseCacheSegment(Bcb, previous, TRUE, FALSE, FALSE); current_size += Bcb->CacheSegmentSize; @@ -393,15 +381,8 @@ CcCopyRead (IN PFILE_OBJECT FileObject, ReadLength += TempLength; Length -= TempLength; ReadOffset += TempLength; -#if defined(__GNUC__) - Buffer += TempLength; -#else - { - char* pTemp = Buffer; - pTemp += TempLength; - Buffer = pTemp; - } -#endif + + Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength); } IoStatus->Status = STATUS_SUCCESS; IoStatus->Information = ReadLength; @@ -488,15 +469,8 @@ CcCopyWrite (IN PFILE_OBJECT FileObject, Length -= TempLength; WriteOffset += TempLength; -#if defined(__GNUC__) - Buffer += TempLength; -#else - { - char* pTemp = Buffer; - pTemp += TempLength; - Buffer = pTemp; - } -#endif + + Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength); } while (Length > 0) @@ -520,15 +494,8 @@ CcCopyWrite (IN PFILE_OBJECT FileObject, CcRosReleaseCacheSegment(Bcb, CacheSeg, TRUE, TRUE, FALSE); Length -= TempLength; WriteOffset += TempLength; -#if defined(__GNUC__) - Buffer += TempLength; -#else - { - char* pTemp = Buffer; - pTemp += TempLength; - Buffer = pTemp; - } -#endif + + Buffer = (PVOID)((ULONG_PTR)Buffer + TempLength); } return(TRUE); } diff --git a/reactos/ntoskrnl/cc/pin.c b/reactos/ntoskrnl/cc/pin.c index 7e507a8c572..f0155f485cb 100644 --- a/reactos/ntoskrnl/cc/pin.c +++ b/reactos/ntoskrnl/cc/pin.c @@ -78,15 +78,8 @@ CcMapData (IN PFILE_OBJECT FileObject, return(FALSE); } } -#if defined(__GNUC__) - *pBuffer += ReadOffset % Bcb->CacheSegmentSize; -#else - { - char* pTemp = *pBuffer; - pTemp += ReadOffset % Bcb->CacheSegmentSize; - *pBuffer = pTemp; - } -#endif + + *pBuffer = (PVOID)((ULONG_PTR)(*pBuffer) + (ReadOffset % Bcb->CacheSegmentSize)); iBcb = ExAllocateFromNPagedLookasideList(&iBcbLookasideList); if (iBcb == NULL) { diff --git a/reactos/ntoskrnl/ke/i386/exp.c b/reactos/ntoskrnl/ke/i386/exp.c index 9619ca71c16..b567b5f9b98 100644 --- a/reactos/ntoskrnl/ke/i386/exp.c +++ b/reactos/ntoskrnl/ke/i386/exp.c @@ -729,7 +729,7 @@ KeDumpStackFrames(PULONG Frame) } StackBase = Frame; - StackEnd = mbi.BaseAddress + mbi.RegionSize; + StackEnd = (PULONG)((ULONG_PTR)mbi.BaseAddress + mbi.RegionSize); while ( Frame >= StackBase && Frame < StackEnd ) { @@ -786,7 +786,7 @@ KeRosDumpStackFrames ( PULONG Frame, ULONG FrameCount ) } StackBase = Frame; - StackEnd = mbi.BaseAddress + mbi.RegionSize; + StackEnd = (PULONG)((ULONG_PTR)mbi.BaseAddress + mbi.RegionSize); while ( Frame >= StackBase && Frame < StackEnd && i++ < FrameCount ) { @@ -838,7 +838,7 @@ KeRosGetStackFrames ( PULONG Frames, ULONG FrameCount ) } StackBase = Frame; - StackEnd = mbi.BaseAddress + mbi.RegionSize; + StackEnd = (PULONG)((ULONG_PTR)mbi.BaseAddress + mbi.RegionSize); while ( Count < FrameCount && Frame >= StackBase && Frame < StackEnd ) { diff --git a/reactos/ntoskrnl/mm/i386/page.c b/reactos/ntoskrnl/mm/i386/page.c index 12556c840e9..29654104bf4 100644 --- a/reactos/ntoskrnl/mm/i386/page.c +++ b/reactos/ntoskrnl/mm/i386/page.c @@ -502,7 +502,7 @@ MmGetPageTableForProcessForPAE(PEPROCESS Process, PVOID Address, BOOLEAN Create) DPRINT("MmGetPageTableForProcessForPAE(%x %x %d)\n", Process, Address, Create); - if (Address >= (PVOID)PAGETABLE_MAP && Address < (PVOID)PAGETABLE_MAP + 0x800000) + if (Address >= (PVOID)PAGETABLE_MAP && Address < (PVOID)((ULONG_PTR)PAGETABLE_MAP + 0x800000)) { KEBUGCHECK(0); } @@ -1500,7 +1500,7 @@ MmCreateVirtualMappingForKernel(PVOID Address, ULONGLONG Pte; oldPdeOffset = PAE_ADDR_TO_PDE_OFFSET(Addr) + 1; - for (i = 0; i < PageCount; i++, Addr += PAGE_SIZE) + for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) { if (!(Attributes & PA_PRESENT) && Pages[i] != 0) { @@ -1550,7 +1550,7 @@ MmCreateVirtualMappingForKernel(PVOID Address, } Pt--; - for (i = 0; i < PageCount; i++, Addr += PAGE_SIZE) + for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) { if (!(Attributes & PA_PRESENT) && Pages[i] != 0) { @@ -1746,7 +1746,7 @@ MmCreateVirtualMappingUnsafe(PEPROCESS Process, PULONGLONG Pt = NULL; oldPdeOffset = PAE_ADDR_TO_PDE_OFFSET(Addr) + 1; - for (i = 0; i < PageCount; i++, Addr += PAGE_SIZE) + for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) { if (!(Attributes & PA_PRESENT) && Pages[i] != 0) { @@ -1815,7 +1815,7 @@ MmCreateVirtualMappingUnsafe(PEPROCESS Process, PULONG Pt = NULL; ULONG Pte; oldPdeOffset = ADDR_TO_PDE_OFFSET(Addr) + 1; - for (i = 0; i < PageCount; i++, Addr += PAGE_SIZE) + for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) { if (!(Attributes & PA_PRESENT) && Pages[i] != 0) { @@ -2182,7 +2182,7 @@ MmCreateHyperspaceMapping(PFN_TYPE Page) } } } - Address = (PVOID)HYPERSPACE + i * PAGE_SIZE; + Address = (PVOID)((ULONG_PTR)HYPERSPACE + i * PAGE_SIZE); FLUSH_TLB_ONE(Address); return Address; } @@ -2244,7 +2244,7 @@ VOID MmUpdatePageDir(PEPROCESS Process, PVOID Address, ULONG Size) ULONGLONG ZeroPde = 0LL; ULONG i; - for (i = PAE_ADDR_TO_PDTE_OFFSET(Address); i <= PAE_ADDR_TO_PDTE_OFFSET(Address + Size); i++) + for (i = PAE_ADDR_TO_PDTE_OFFSET(Address); i <= PAE_ADDR_TO_PDTE_OFFSET((PVOID)((ULONG_PTR)Address + Size)); i++) { if (i == PAE_ADDR_TO_PDTE_OFFSET(Address)) { @@ -2254,9 +2254,9 @@ VOID MmUpdatePageDir(PEPROCESS Process, PVOID Address, ULONG Size) { StartOffset = 0; } - if (i == PAE_ADDR_TO_PDTE_OFFSET(Address + Size)) + if (i == PAE_ADDR_TO_PDTE_OFFSET((PVOID)((ULONG_PTR)Address + Size))) { - EndOffset = PAE_ADDR_TO_PDE_PAGE_OFFSET(Address + Size); + EndOffset = PAE_ADDR_TO_PDE_PAGE_OFFSET((PVOID)((ULONG_PTR)Address + Size)); } else { @@ -2288,7 +2288,7 @@ VOID MmUpdatePageDir(PEPROCESS Process, PVOID Address, ULONG Size) { PULONG Pde; StartOffset = ADDR_TO_PDE_OFFSET(Address); - EndOffset = ADDR_TO_PDE_OFFSET(Address + Size); + EndOffset = ADDR_TO_PDE_OFFSET((PVOID)((ULONG_PTR)Address + Size)); if (Process != NULL && Process != PsGetCurrentProcess()) { diff --git a/reactos/ntoskrnl/mm/region.c b/reactos/ntoskrnl/mm/region.c index 4dc04aea08d..5ee161a7ea1 100644 --- a/reactos/ntoskrnl/mm/region.c +++ b/reactos/ntoskrnl/mm/region.c @@ -170,16 +170,8 @@ MmAlterRegion(PMADDRESS_SPACE AddressSpace, PVOID BaseAddress, CurrentRegion->Type, CurrentRegion->Protect, NewType, NewProtect); } -#if defined(__GNUC__) - CurrentBaseAddress += CurrentRegion->Length; -#else - { - char* pTemp = CurrentBaseAddress; - pTemp += CurrentRegion->Length; - CurrentBaseAddress = pTemp; - } -#endif + CurrentBaseAddress = (PVOID)((ULONG_PTR)CurrentBaseAddress + CurrentRegion->Length); NewRegion->Length += CurrentRegion->Length; RemainingLength -= CurrentRegion->Length; CurrentEntry = CurrentEntry->Flink; @@ -283,17 +275,8 @@ MmFindRegion(PVOID BaseAddress, PLIST_ENTRY RegionListHead, PVOID Address, } current_entry = current_entry->Flink; -#if defined(__GNUC__) - StartAddress += current->Length; -#else - - { - char* pTemp = StartAddress; - pTemp += current->Length; - StartAddress = pTemp; - } -#endif + StartAddress = (PVOID)((ULONG_PTR)StartAddress + current->Length); } return(NULL); diff --git a/reactos/subsys/csrss/win32csr/conio.c b/reactos/subsys/csrss/win32csr/conio.c index 7c127ba2486..06d9c74c10d 100644 --- a/reactos/subsys/csrss/win32csr/conio.c +++ b/reactos/subsys/csrss/win32csr/conio.c @@ -2273,8 +2273,8 @@ CSR_API(CsrWriteConsoleOutput) BufferCoord = Request->Data.WriteConsoleOutputRequest.BufferCoord; CharInfo = Request->Data.WriteConsoleOutputRequest.CharInfo; if (((PVOID)CharInfo < ProcessData->CsrSectionViewBase) || - (((PVOID)CharInfo + PSize) > - (ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) + (((ULONG_PTR)CharInfo + PSize) > + ((ULONG_PTR)ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) { ConioUnlockScreenBuffer(Buff); ConioUnlockConsole(Console); @@ -2690,7 +2690,7 @@ CSR_API(CsrPeekConsoleInput) Size = Length * sizeof(INPUT_RECORD); if (((PVOID)InputRecord < ProcessData->CsrSectionViewBase) - || (((PVOID)InputRecord + Size) > (ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) + || (((ULONG_PTR)InputRecord + Size) > ((ULONG_PTR)ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) { ConioUnlockConsole(Console); Request->Status = STATUS_ACCESS_VIOLATION; @@ -2776,7 +2776,7 @@ CSR_API(CsrReadConsoleOutput) CodePage = ProcessData->Console->OutputCodePage; if (((PVOID)CharInfo < ProcessData->CsrSectionViewBase) - || (((PVOID)CharInfo + Size) > (ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) + || (((ULONG_PTR)CharInfo + Size) > ((ULONG_PTR)ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) { ConioUnlockScreenBuffer(Buff); Request->Status = STATUS_ACCESS_VIOLATION; @@ -2856,7 +2856,7 @@ CSR_API(CsrWriteConsoleInput) Size = Length * sizeof(INPUT_RECORD); if (((PVOID)InputRecord < ProcessData->CsrSectionViewBase) - || (((PVOID)InputRecord + Size) > (ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) + || (((ULONG_PTR)InputRecord + Size) > ((ULONG_PTR)ProcessData->CsrSectionViewBase + ProcessData->CsrSectionViewSize))) { ConioUnlockConsole(Console); Request->Status = STATUS_ACCESS_VIOLATION; diff --git a/reactos/subsys/csrss/win32csr/tuiconsole.c b/reactos/subsys/csrss/win32csr/tuiconsole.c index 5aebf166c83..5135b7cdbb4 100644 --- a/reactos/subsys/csrss/win32csr/tuiconsole.c +++ b/reactos/subsys/csrss/win32csr/tuiconsole.c @@ -293,7 +293,7 @@ TuiSwapConsole(int Next) 0, sizeof(COORD) + Title.MaximumLength); pos = (COORD *)Buffer; - Title.Buffer = Buffer + sizeof( COORD ); + Title.Buffer = (PVOID)((ULONG_PTR)Buffer + sizeof( COORD )); RtlUnicodeStringToAnsiString(&Title, &SwapConsole->Title, FALSE); pos->Y = PhysicalConsoleSize.Y / 2; diff --git a/reactos/subsys/system/usetup/cabinet.c b/reactos/subsys/system/usetup/cabinet.c index a4b6f9d264f..41cf2e0442a 100755 --- a/reactos/subsys/system/usetup/cabinet.c +++ b/reactos/subsys/system/usetup/cabinet.c @@ -1033,7 +1033,7 @@ ULONG CabinetExtractFile( PCAB_SEARCH Search ) Status = CAB_STATUS_INVALID_CAB; goto UnmapDestFile; } - CurrentDestBuffer += OutputLength; // advance dest buffer by bytes produced + CurrentDestBuffer = (PVOID)((ULONG_PTR)CurrentDestBuffer + OutputLength); // advance dest buffer by bytes produced CurrentBuffer += InputLength; // advance src buffer by bytes consumed Size -= OutputLength; // reduce remaining file bytes by bytes produced RemainingBlock -= InputLength; // reduce remaining block size by bytes consumed diff --git a/reactos/subsys/win32k/dib/dib16bpp.c b/reactos/subsys/win32k/dib/dib16bpp.c index f0f1bb74c91..ba5521ca8f7 100644 --- a/reactos/subsys/win32k/dib/dib16bpp.c +++ b/reactos/subsys/win32k/dib/dib16bpp.c @@ -26,7 +26,7 @@ VOID DIB_16BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) { - PBYTE byteaddr = SurfObj->pvScan0 + y * SurfObj->lDelta; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta; PWORD addr = (PWORD)byteaddr + x; *addr = (WORD)c; @@ -35,7 +35,7 @@ DIB_16BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) ULONG DIB_16BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) { - PBYTE byteaddr = SurfObj->pvScan0 + y * SurfObj->lDelta; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta; PWORD addr = (PWORD)byteaddr + x; return (ULONG)(*addr); @@ -44,7 +44,7 @@ DIB_16BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) VOID DIB_16BPP_HLine(SURFOBJ *SurfObj, LONG x1, LONG x2, LONG y, ULONG c) { - PDWORD addr = (PDWORD)((PWORD)(SurfObj->pvScan0 + y * SurfObj->lDelta) + x1); + PDWORD addr = (PDWORD)((PWORD)((PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta) + x1); #ifdef _M_IX86 @@ -126,7 +126,7 @@ DIB_16BPP_VLine(SURFOBJ *SurfObj, LONG x, LONG y1, LONG y2, ULONG c) " jnz 1b" "\n\t" "2:" "\n\t" : /* no output */ - : "r"(SurfObj->pvScan0 + (y1 * SurfObj->lDelta) + (x * sizeof (WORD))), + : "r"((PBYTE)SurfObj->pvScan0 + (y1 * SurfObj->lDelta) + (x * sizeof (WORD))), "r"(SurfObj->lDelta), "r"(y2 - y1), "a"(c) : "cc", "memory", "%ecx"); #else @@ -150,7 +150,7 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) LONG i, j, sx, sy, xColor, f1; PBYTE SourceBits, DestBits, SourceLine, DestLine; PBYTE SourceBits_4BPP, SourceLine_4BPP; - DestBits = BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + 2 * BltInfo->DestRect.left; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + 2 * BltInfo->DestRect.left; switch(BltInfo->SourceSurface->iBitmapFormat) { @@ -176,7 +176,7 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_4BPP: - SourceBits_4BPP = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); + SourceBits_4BPP = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) { @@ -198,7 +198,7 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_8BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -223,7 +223,7 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) { if (BltInfo->DestRect.top < BltInfo->SourcePoint.y) { - SourceBits = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) { RtlMoveMemory(DestBits, SourceBits, 2 * (BltInfo->DestRect.right - BltInfo->DestRect.left)); @@ -233,8 +233,8 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) } else { - SourceBits = BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; - DestBits = BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 2 * BltInfo->DestRect.left; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 2 * BltInfo->DestRect.left; for (j = BltInfo->DestRect.bottom - 1; BltInfo->DestRect.top <= j; j--) { RtlMoveMemory(DestBits, SourceBits, 2 * (BltInfo->DestRect.right - BltInfo->DestRect.left)); @@ -247,7 +247,7 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) { if (BltInfo->DestRect.top < BltInfo->SourcePoint.y) { - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) { @@ -265,8 +265,8 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) } else { - SourceLine = BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; - DestLine = BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 2 * BltInfo->DestRect.left; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + DestLine = (PBYTE)BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 2 * BltInfo->DestRect.left; for (j = BltInfo->DestRect.bottom - 1; BltInfo->DestRect.top <= j; j--) { SourceBits = SourceLine; @@ -285,7 +285,7 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_24BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -309,7 +309,7 @@ DIB_16BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_32BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -356,7 +356,7 @@ DIB_16BPP_BitBlt(PBLTINFO BltInfo) ((BltInfo->DestRect.right - BltInfo->DestRect.left) & 0x1); SourceY = BltInfo->SourcePoint.y; DestBits = (PULONG)( - BltInfo->DestSurface->pvScan0 + + (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 1) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); @@ -440,7 +440,7 @@ DIB_16BPP_ColorFill(SURFOBJ* DestSurface, RECTL* DestRect, ULONG color) /* This is about 10% faster than the generic C code below */ ULONG delta = DestSurface->lDelta; ULONG width = (DestRect->right - DestRect->left) ; - PULONG pos = (PULONG) (DestSurface->pvScan0 + DestRect->top * delta + (DestRect->left<<1)); + PULONG pos = (PULONG) ((PBYTE)DestSurface->pvScan0 + DestRect->top * delta + (DestRect->left<<1)); color = (color&0xffff); /* If the color value is "abcd", put "abcdabcd" into color */ color += (color<<16); @@ -608,8 +608,8 @@ BOOLEAN ScaleRectAvg16(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, PIXEL *ScanLine, *ScanLineAhead; PIXEL *PrevSource = NULL; PIXEL *PrevSourceAhead = NULL; - PIXEL *Target = (PIXEL *) (DestSurf->pvScan0 + (DestRect->top * DestSurf->lDelta) + 2 * DestRect->left); - PIXEL *Source = (PIXEL *) (SourceSurf->pvScan0 + (SourceRect->top * SourceSurf->lDelta) + 2 * SourceRect->left); + PIXEL *Target = (PIXEL *) ((PBYTE)DestSurf->pvScan0 + (DestRect->top * DestSurf->lDelta) + 2 * DestRect->left); + PIXEL *Source = (PIXEL *) ((PBYTE)SourceSurf->pvScan0 + (SourceRect->top * SourceSurf->lDelta) + 2 * SourceRect->left); PSPAN ClipSpans; UINT ClipSpansCount; UINT SpanIndex; @@ -1406,7 +1406,7 @@ DIB_16BPP_TransparentBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, RoundedRight = DestRect->right - ((DestRect->right - DestRect->left) & 0x1); SourceY = SourcePoint->y; - DestBits = (ULONG*)(DestSurf->pvScan0 + + DestBits = (ULONG*)((PBYTE)DestSurf->pvScan0 + (DestRect->left << 1) + DestRect->top * DestSurf->lDelta); wd = DestSurf->lDelta - ((DestRect->right - DestRect->left) << 1); diff --git a/reactos/subsys/win32k/dib/dib1bpp.c b/reactos/subsys/win32k/dib/dib1bpp.c index 9b88aadbb26..b4dec8fe297 100644 --- a/reactos/subsys/win32k/dib/dib1bpp.c +++ b/reactos/subsys/win32k/dib/dib1bpp.c @@ -25,7 +25,7 @@ VOID DIB_1BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) { - PBYTE addr = SurfObj->pvScan0 + y * SurfObj->lDelta + (x >> 3); + PBYTE addr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta + (x >> 3); if (0 == (c & 0x01)) *addr &= ~MASK1BPP(x); @@ -36,7 +36,7 @@ DIB_1BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) ULONG DIB_1BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) { - PBYTE addr = SurfObj->pvScan0 + y * SurfObj->lDelta + (x >> 3); + PBYTE addr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta + (x >> 3); return (*addr & MASK1BPP(x) ? 1 : 0); } @@ -378,7 +378,7 @@ DIB_1BPP_BitBlt(PBLTINFO BltInfo) DestX = BltInfo->DestRect.left; SourceX = BltInfo->SourcePoint.x; DestBits = (PULONG)( - BltInfo->DestSurface->pvScan0 + + (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left >> 3) + DestY * BltInfo->DestSurface->lDelta); diff --git a/reactos/subsys/win32k/dib/dib24bpp.c b/reactos/subsys/win32k/dib/dib24bpp.c index 970450b4a85..7e1d626393b 100644 --- a/reactos/subsys/win32k/dib/dib24bpp.c +++ b/reactos/subsys/win32k/dib/dib24bpp.c @@ -26,7 +26,7 @@ VOID DIB_24BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) { - PBYTE addr = SurfObj->pvScan0 + (y * SurfObj->lDelta) + (x << 1) + x; + PBYTE addr = (PBYTE)SurfObj->pvScan0 + (y * SurfObj->lDelta) + (x << 1) + x; *(PUSHORT)(addr) = c & 0xFFFF; *(addr + 2) = (c >> 16) & 0xFF; } @@ -34,14 +34,14 @@ DIB_24BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) ULONG DIB_24BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) { - PBYTE addr = SurfObj->pvScan0 + y * SurfObj->lDelta + (x << 1) + x; + PBYTE addr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta + (x << 1) + x; return *(PUSHORT)(addr) + (*(addr + 2) << 16); } VOID DIB_24BPP_HLine(SURFOBJ *SurfObj, LONG x1, LONG x2, LONG y, ULONG c) { - PBYTE addr = SurfObj->pvScan0 + y * SurfObj->lDelta + (x1 << 1) + x1; + PBYTE addr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta + (x1 << 1) + x1; ULONG Count = x2 - x1; #ifndef _M_IX86 ULONG MultiCount; @@ -141,7 +141,7 @@ DIB_24BPP_HLine(SURFOBJ *SurfObj, LONG x1, LONG x2, LONG y, ULONG c) VOID DIB_24BPP_VLine(SURFOBJ *SurfObj, LONG x, LONG y1, LONG y2, ULONG c) { - PBYTE addr = SurfObj->pvScan0 + y1 * SurfObj->lDelta + (x << 1) + x; + PBYTE addr = (PBYTE)SurfObj->pvScan0 + y1 * SurfObj->lDelta + (x << 1) + x; LONG lDelta = SurfObj->lDelta; c &= 0xFFFFFF; @@ -161,7 +161,7 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) PBYTE SourceBits_4BPP, SourceLine_4BPP; PWORD SourceBits_16BPP, SourceLine_16BPP; - DestBits = BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left * 3; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left * 3; switch(BltInfo->SourceSurface->iBitmapFormat) { @@ -187,7 +187,7 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_4BPP: - SourceBits_4BPP = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); + SourceBits_4BPP = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) { @@ -213,7 +213,7 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_8BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -236,7 +236,7 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_16BPP: - SourceBits_16BPP = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + SourceBits_16BPP = (PWORD)((PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x); for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) { @@ -262,7 +262,7 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) { if (BltInfo->DestRect.top < BltInfo->SourcePoint.y) { - SourceBits = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) { RtlMoveMemory(DestBits, SourceBits, 3 * (BltInfo->DestRect.right - BltInfo->DestRect.left)); @@ -272,8 +272,8 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) } else { - SourceBits = BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; - DestBits = BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 3 * BltInfo->DestRect.left; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 3 * BltInfo->DestRect.left; for (j = BltInfo->DestRect.bottom - 1; BltInfo->DestRect.top <= j; j--) { RtlMoveMemory(DestBits, SourceBits, 3 * (BltInfo->DestRect.right - BltInfo->DestRect.left)); @@ -291,7 +291,7 @@ DIB_24BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_32BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -337,7 +337,7 @@ DIB_24BPP_BitBlt(PBLTINFO BltInfo) SourceY = BltInfo->SourcePoint.y; DestBits = (PBYTE)( - BltInfo->DestSurface->pvScan0 + + (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 1) + BltInfo->DestRect.left + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); @@ -397,7 +397,7 @@ DIB_24BPP_ColorFill(SURFOBJ* DestSurface, RECTL* DestRect, ULONG color) ULONG DestY; #ifdef _M_IX86 - PBYTE xaddr = DestSurface->pvScan0 + DestRect->top * DestSurface->lDelta + (DestRect->left << 1) + DestRect->left; + PBYTE xaddr = (PBYTE)DestSurface->pvScan0 + DestRect->top * DestSurface->lDelta + (DestRect->left << 1) + DestRect->left; PBYTE addr; ULONG Count; ULONG xCount=DestRect->right - DestRect->left; @@ -1305,7 +1305,7 @@ DIB_24BPP_TransparentBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, BYTE *DestBits; SourceY = SourcePoint->y; - DestBits = (BYTE*)(DestSurf->pvScan0 + + DestBits = (BYTE*)((PBYTE)DestSurf->pvScan0 + (DestRect->left << 2) + DestRect->top * DestSurf->lDelta); wd = DestSurf->lDelta - ((DestRect->right - DestRect->left) << 2); diff --git a/reactos/subsys/win32k/dib/dib32bpp.c b/reactos/subsys/win32k/dib/dib32bpp.c index 30d346422fc..59774aea638 100644 --- a/reactos/subsys/win32k/dib/dib32bpp.c +++ b/reactos/subsys/win32k/dib/dib32bpp.c @@ -26,7 +26,7 @@ VOID DIB_32BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) { - PBYTE byteaddr = SurfObj->pvScan0 + y * SurfObj->lDelta; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta; PDWORD addr = (PDWORD)byteaddr + x; *addr = c; @@ -35,7 +35,7 @@ DIB_32BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) ULONG DIB_32BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) { - PBYTE byteaddr = SurfObj->pvScan0 + y * SurfObj->lDelta; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta; PDWORD addr = (PDWORD)byteaddr + x; return (ULONG)(*addr); @@ -47,7 +47,7 @@ VOID DIB_32BPP_HLine(SURFOBJ *SurfObj, LONG x1, LONG x2, LONG y, ULONG c) { LONG cx = (x2 - x1) ; - PBYTE byteaddr = SurfObj->pvScan0 + y * SurfObj->lDelta; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta; PDWORD addr = (PDWORD)byteaddr + x1; __asm__ __volatile__ ( @@ -95,7 +95,7 @@ DIB_32BPP_VLine(SURFOBJ *SurfObj, LONG x, LONG y1, LONG y2, ULONG c) { - PBYTE byteaddr = SurfObj->pvScan0 + y1 * SurfObj->lDelta; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y1 * SurfObj->lDelta; PDWORD addr = (PDWORD)byteaddr + x; LONG lDelta = SurfObj->lDelta >> 2; // >> 2 == / sizeof(DWORD) @@ -116,7 +116,7 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) PBYTE SourceBits_4BPP, SourceLine_4BPP; PDWORD Source32, Dest32; - DestBits = BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + 4 * BltInfo->DestRect.left; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + 4 * BltInfo->DestRect.left; switch(BltInfo->SourceSurface->iBitmapFormat) { @@ -143,7 +143,7 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_4BPP: - SourceBits_4BPP = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); + SourceBits_4BPP = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) { @@ -165,7 +165,7 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_8BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -187,7 +187,7 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_16BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -209,7 +209,7 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_24BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -237,7 +237,7 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) { if (BltInfo->DestRect.top < BltInfo->SourcePoint.y) { - SourceBits = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) { RtlMoveMemory(DestBits, SourceBits, 4 * (BltInfo->DestRect.right - BltInfo->DestRect.left)); @@ -247,8 +247,8 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) } else { - SourceBits = BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; - DestBits = BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 4 * BltInfo->DestRect.left; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 4 * BltInfo->DestRect.left; for (j = BltInfo->DestRect.bottom - 1; BltInfo->DestRect.top <= j; j--) { RtlMoveMemory(DestBits, SourceBits, 4 * (BltInfo->DestRect.right - BltInfo->DestRect.left)); @@ -261,7 +261,7 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) { if (BltInfo->DestRect.top < BltInfo->SourcePoint.y) { - SourceBits = (BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x); + SourceBits = ((PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x); for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) { if (BltInfo->DestRect.left < BltInfo->SourcePoint.x) @@ -288,8 +288,8 @@ DIB_32BPP_BitBltSrcCopy(PBLTINFO BltInfo) } else { - SourceBits = BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; - DestBits = BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 4 * BltInfo->DestRect.left; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + 4 * BltInfo->DestRect.left; for (j = BltInfo->DestRect.bottom - 1; BltInfo->DestRect.top <= j; j--) { if (BltInfo->DestRect.left < BltInfo->SourcePoint.x) @@ -363,7 +363,7 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo) UsesPattern = ROP4_USES_PATTERN(BltInfo->Rop4); SourceY = BltInfo->SourcePoint.y; - DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + + DestBits = (PULONG)((PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); Delta = BltInfo->DestSurface->lDelta - ((BltInfo->DestRect.right - BltInfo->DestRect.left) << 2); @@ -499,7 +499,7 @@ DIB_32DstInvert(PBLTINFO BltInfo) ULONG right = BltInfo->DestRect.right; ULONG delta = BltInfo->DestSurface->lDelta - ((BltInfo->DestRect.right - BltInfo->DestRect.left) <<2) ; - DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + + DestBits = (PULONG)((PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); for (DestY = BltInfo->DestRect.top; DestY < bottom; DestY++) @@ -539,7 +539,7 @@ DIB32_SrcErase(PBLTINFO BltInfo) ULONG right = BltInfo->DestRect.right; ULONG delta = BltInfo->DestSurface->lDelta - ((BltInfo->DestRect.right - BltInfo->DestRect.left) <<2) ; - DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + + DestBits = (PULONG)((PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); SourceY = BltInfo->SourcePoint.y; @@ -590,7 +590,7 @@ DIB32_NotSrcErase(PBLTINFO BltInfo) ULONG right = BltInfo->DestRect.right; ULONG delta = BltInfo->DestSurface->lDelta - ((BltInfo->DestRect.right - BltInfo->DestRect.left) <<2); - DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + + DestBits = (PULONG)((PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); SourceY = BltInfo->SourcePoint.y; @@ -640,7 +640,7 @@ DIB32_SrcPaint(PBLTINFO BltInfo) ULONG right = BltInfo->DestRect.right; ULONG delta = BltInfo->DestSurface->lDelta - ((BltInfo->DestRect.right - BltInfo->DestRect.left) <<2) ; - DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + + DestBits = (PULONG)((PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); SourceY = BltInfo->SourcePoint.y; @@ -672,7 +672,7 @@ DIB32_SrcPaint(PBLTINFO BltInfo) ULONG right = BltInfo->DestRect.right; ULONG delta = BltInfo->DestSurface->lDelta - ((BltInfo->DestRect.right - BltInfo->DestRect.left) <<2) ; - DestBits = (PULONG)(BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + + DestBits = (PULONG)((PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left << 2) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta); SourceY = BltInfo->SourcePoint.y; @@ -814,8 +814,8 @@ BOOLEAN ScaleRectAvg32(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, PIXEL *ScanLine, *ScanLineAhead; PIXEL *PrevSource = NULL; PIXEL *PrevSourceAhead = NULL; - PIXEL *Target = (PIXEL *) (DestSurf->pvScan0 + (DestRect->top * DestSurf->lDelta) + 4 * DestRect->left); - PIXEL *Source = (PIXEL *) (SourceSurf->pvScan0 + (SourceRect->top * SourceSurf->lDelta) + 4 * SourceRect->left); + PIXEL *Target = (PIXEL *) ((PBYTE)DestSurf->pvScan0 + (DestRect->top * DestSurf->lDelta) + 4 * DestRect->left); + PIXEL *Source = (PIXEL *) ((PBYTE)SourceSurf->pvScan0 + (SourceRect->top * SourceSurf->lDelta) + 4 * SourceRect->left); PSPAN ClipSpans; UINT ClipSpansCount; UINT SpanIndex; @@ -1607,7 +1607,7 @@ DIB_32BPP_TransparentBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, ULONG *DestBits; SourceY = SourcePoint->y; - DestBits = (ULONG*)(DestSurf->pvScan0 + + DestBits = (ULONG*)((PBYTE)DestSurf->pvScan0 + (DestRect->left << 2) + DestRect->top * DestSurf->lDelta); wd = DestSurf->lDelta - ((DestRect->right - DestRect->left) << 2); diff --git a/reactos/subsys/win32k/dib/dib4bpp.c b/reactos/subsys/win32k/dib/dib4bpp.c index 13ba5f8f378..caf6e530cc7 100644 --- a/reactos/subsys/win32k/dib/dib4bpp.c +++ b/reactos/subsys/win32k/dib/dib4bpp.c @@ -26,21 +26,21 @@ VOID DIB_4BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) { - PBYTE addr = SurfObj->pvScan0 + (x>>1) + y * SurfObj->lDelta; + PBYTE addr = (PBYTE)SurfObj->pvScan0 + (x>>1) + y * SurfObj->lDelta; *addr = (*addr & notmask[x&1]) | (c << ((1-(x&1))<<2)); } ULONG DIB_4BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) { - PBYTE addr = SurfObj->pvScan0 + (x>>1) + y * SurfObj->lDelta; + PBYTE addr = (PBYTE)SurfObj->pvScan0 + (x>>1) + y * SurfObj->lDelta; return (*addr >> ((1-(x&1))<<2)) & 0x0f; } VOID DIB_4BPP_HLine(SURFOBJ *SurfObj, LONG x1, LONG x2, LONG y, ULONG c) { - PBYTE addr = SurfObj->pvScan0 + (x1>>1) + y * SurfObj->lDelta; + PBYTE addr = (PBYTE)SurfObj->pvScan0 + (x1>>1) + y * SurfObj->lDelta; LONG cx = x1; while(cx < x2) { @@ -72,7 +72,7 @@ DIB_4BPP_BitBltSrcCopy(PBLTINFO BltInfo) PBYTE DestBits, DestLine, SourceBits_8BPP, SourceLine_8BPP; PBYTE SourceBits, SourceLine; - DestBits = BltInfo->DestSurface->pvScan0 + + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left >> 1) + BltInfo->DestRect.top * BltInfo->DestSurface->lDelta; @@ -123,7 +123,7 @@ DIB_4BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_8BPP: - SourceBits_8BPP = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + SourceBits_8BPP = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) { @@ -145,7 +145,7 @@ DIB_4BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_16BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -169,7 +169,7 @@ DIB_4BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_24BPP: - SourceBits_24BPP = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x * 3; + SourceBits_24BPP = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x * 3; for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) { @@ -194,7 +194,7 @@ DIB_4BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_32BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -278,7 +278,7 @@ DIB_4BPP_BitBlt(PBLTINFO BltInfo) for (DestY = BltInfo->DestRect.top; DestY < BltInfo->DestRect.bottom; DestY++) { DestBits = (PULONG)( - BltInfo->DestSurface->pvScan0 + + (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.left >> 1) + DestY * BltInfo->DestSurface->lDelta); SourceX = BltInfo->SourcePoint.x; diff --git a/reactos/subsys/win32k/dib/dib8bpp.c b/reactos/subsys/win32k/dib/dib8bpp.c index f19699f55ce..550aa730e03 100644 --- a/reactos/subsys/win32k/dib/dib8bpp.c +++ b/reactos/subsys/win32k/dib/dib8bpp.c @@ -26,7 +26,7 @@ VOID DIB_8BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) { - PBYTE byteaddr = SurfObj->pvScan0 + y * SurfObj->lDelta + x; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta + x; *byteaddr = c; } @@ -34,7 +34,7 @@ DIB_8BPP_PutPixel(SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) ULONG DIB_8BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) { - PBYTE byteaddr = SurfObj->pvScan0 + y * SurfObj->lDelta + x; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta + x; return (ULONG)(*byteaddr); } @@ -42,13 +42,13 @@ DIB_8BPP_GetPixel(SURFOBJ *SurfObj, LONG x, LONG y) VOID DIB_8BPP_HLine(SURFOBJ *SurfObj, LONG x1, LONG x2, LONG y, ULONG c) { - memset(SurfObj->pvScan0 + y * SurfObj->lDelta + x1, (BYTE) c, x2 - x1); + memset((PBYTE)SurfObj->pvScan0 + y * SurfObj->lDelta + x1, (BYTE) c, x2 - x1); } VOID DIB_8BPP_VLine(SURFOBJ *SurfObj, LONG x, LONG y1, LONG y2, ULONG c) { - PBYTE byteaddr = SurfObj->pvScan0 + y1 * SurfObj->lDelta; + PBYTE byteaddr = (PBYTE)SurfObj->pvScan0 + y1 * SurfObj->lDelta; PBYTE addr = byteaddr + x; LONG lDelta = SurfObj->lDelta; @@ -67,7 +67,7 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) PBYTE SourceBits, DestBits, SourceLine, DestLine; PBYTE SourceBits_4BPP, SourceLine_4BPP; - DestBits = BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + (BltInfo->DestRect.top * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left; switch(BltInfo->SourceSurface->iBitmapFormat) { @@ -93,7 +93,7 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_4BPP: - SourceBits_4BPP = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); + SourceBits_4BPP = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + (BltInfo->SourcePoint.x >> 1); for (j=BltInfo->DestRect.top; jDestRect.bottom; j++) { @@ -119,7 +119,7 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) { if (BltInfo->DestRect.top < BltInfo->SourcePoint.y) { - SourceBits = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) { RtlMoveMemory(DestBits, SourceBits, BltInfo->DestRect.right - BltInfo->DestRect.left); @@ -129,8 +129,8 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) } else { - SourceBits = BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; - DestBits = BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left; + SourceBits = (PBYTE)BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + DestBits = (PBYTE)BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left; for (j = BltInfo->DestRect.bottom - 1; BltInfo->DestRect.top <= j; j--) { RtlMoveMemory(DestBits, SourceBits, BltInfo->DestRect.right - BltInfo->DestRect.left); @@ -143,7 +143,7 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) { if (BltInfo->DestRect.top < BltInfo->SourcePoint.y) { - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) { @@ -159,8 +159,8 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) } else { - SourceLine = BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; - DestLine = BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + ((BltInfo->SourcePoint.y + BltInfo->DestRect.bottom - BltInfo->DestRect.top - 1) * BltInfo->SourceSurface->lDelta) + BltInfo->SourcePoint.x; + DestLine = (PBYTE)BltInfo->DestSurface->pvScan0 + ((BltInfo->DestRect.bottom - 1) * BltInfo->DestSurface->lDelta) + BltInfo->DestRect.left; for (j = BltInfo->DestRect.bottom - 1; BltInfo->DestRect.top <= j; j--) { SourceBits = SourceLine; @@ -177,7 +177,7 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_16BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 2 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -199,7 +199,7 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_24BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 3 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -223,7 +223,7 @@ DIB_8BPP_BitBltSrcCopy(PBLTINFO BltInfo) break; case BMF_32BPP: - SourceLine = BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; + SourceLine = (PBYTE)BltInfo->SourceSurface->pvScan0 + (BltInfo->SourcePoint.y * BltInfo->SourceSurface->lDelta) + 4 * BltInfo->SourcePoint.x; DestLine = DestBits; for (j = BltInfo->DestRect.top; j < BltInfo->DestRect.bottom; j++) @@ -291,7 +291,7 @@ DIB_8BPP_BitBlt(PBLTINFO BltInfo) { SourceX = BltInfo->SourcePoint.x; DestBits = (PULONG)( - BltInfo->DestSurface->pvScan0 + + (PBYTE)BltInfo->DestSurface->pvScan0 + BltInfo->DestRect.left + DestY * BltInfo->DestSurface->lDelta); @@ -461,8 +461,8 @@ BOOLEAN ScaleRectAvg8(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, PIXEL *ScanLine, *ScanLineAhead; PIXEL *PrevSource = NULL; PIXEL *PrevSourceAhead = NULL; - PIXEL *Target = (PIXEL *) (DestSurf->pvScan0 + (DestRect->top * DestSurf->lDelta) + DestRect->left); - PIXEL *Source = (PIXEL *) (SourceSurf->pvScan0 + (SourceRect->top * SourceSurf->lDelta) + SourceRect->left); + PIXEL *Target = (PIXEL *) ((PBYTE)DestSurf->pvScan0 + (DestRect->top * DestSurf->lDelta) + DestRect->left); + PIXEL *Source = (PIXEL *) ((PBYTE)SourceSurf->pvScan0 + (SourceRect->top * SourceSurf->lDelta) + SourceRect->left); PSPAN ClipSpans; UINT ClipSpansCount; UINT SpanIndex; @@ -1252,13 +1252,13 @@ DIB_8BPP_TransparentBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, RoundedRight = DestRect->right - ((DestRect->right - DestRect->left) & 0x3); SourceY = SourcePoint->y; - DestBits = (ULONG*)(DestSurf->pvScan0 + DestRect->left + + DestBits = (ULONG*)((PBYTE)DestSurf->pvScan0 + DestRect->left + (DestRect->top * DestSurf->lDelta)); wd = DestSurf->lDelta - (DestRect->right - DestRect->left); for(Y = DestRect->top; Y < DestRect->bottom; Y++) { - DestBits = (ULONG*)(DestSurf->pvScan0 + DestRect->left + + DestBits = (ULONG*)((PBYTE)DestSurf->pvScan0 + DestRect->left + (Y * DestSurf->lDelta)); SourceX = SourcePoint->x; for (X = DestRect->left; X < RoundedRight; X += 4, DestBits++) diff --git a/reactos/subsys/win32k/eng/bitblt.c b/reactos/subsys/win32k/eng/bitblt.c index 643ac11736e..ce107e47fbe 100644 --- a/reactos/subsys/win32k/eng/bitblt.c +++ b/reactos/subsys/win32k/eng/bitblt.c @@ -123,7 +123,7 @@ BltMask(SURFOBJ* Dest, else PatternBitmap = NULL; - tMask = Mask->pvScan0 + SourcePoint->y * Mask->lDelta + (SourcePoint->x >> 3); + tMask = (PBYTE)Mask->pvScan0 + SourcePoint->y * Mask->lDelta + (SourcePoint->x >> 3); for (j = 0; j < dy; j++) { lMask = tMask; @@ -919,7 +919,7 @@ AlphaBltMask(SURFOBJ* Dest, g = (int)GetGValue(BrushColor); b = (int)GetBValue(BrushColor); - tMask = Mask->pvScan0 + (SourcePoint->y * Mask->lDelta) + SourcePoint->x; + tMask = (PBYTE)Mask->pvScan0 + (SourcePoint->y * Mask->lDelta) + SourcePoint->x; for (j = 0; j < dy; j++) { lMask = tMask; diff --git a/reactos/subsys/win32k/ldr/loader.c b/reactos/subsys/win32k/ldr/loader.c index fe7d3ff6771..8fb5a5ca876 100644 --- a/reactos/subsys/win32k/ldr/loader.c +++ b/reactos/subsys/win32k/ldr/loader.c @@ -58,17 +58,17 @@ LdrGetProcedureAddress (IN PVOID BaseAddress, return STATUS_INVALID_PARAMETER; } - AddressPtr = (PULONG)((ULONG)BaseAddress + (ULONG)ExportDir->AddressOfFunctions); + AddressPtr = (PULONG)((ULONG_PTR)BaseAddress + (ULONG)ExportDir->AddressOfFunctions); if (Name && Name->Length) { /* by name */ - OrdinalPtr = (PUSHORT)((ULONG)BaseAddress + (ULONG)ExportDir->AddressOfNameOrdinals); - NamePtr = (PULONG)((ULONG)BaseAddress + (ULONG)ExportDir->AddressOfNames); + OrdinalPtr = (PUSHORT)((ULONG_PTR)BaseAddress + (ULONG)ExportDir->AddressOfNameOrdinals); + NamePtr = (PULONG)((ULONG_PTR)BaseAddress + (ULONG)ExportDir->AddressOfNames); for( i = 0; i < ExportDir->NumberOfNames; i++, NamePtr++, OrdinalPtr++) { - if (!_strnicmp(Name->Buffer, (char*)(BaseAddress + *NamePtr), Name->Length)) + if (!_strnicmp(Name->Buffer, (char*)((ULONG_PTR)BaseAddress + *NamePtr), Name->Length)) { - *ProcedureAddress = (PVOID)((ULONG)BaseAddress + (ULONG)AddressPtr[*OrdinalPtr]); + *ProcedureAddress = (PVOID)((ULONG_PTR)BaseAddress + (ULONG)AddressPtr[*OrdinalPtr]); return STATUS_SUCCESS; } } diff --git a/reactos/subsys/win32k/ntuser/menu.c b/reactos/subsys/win32k/ntuser/menu.c index 411d24d3f28..462d994aefd 100644 --- a/reactos/subsys/win32k/ntuser/menu.c +++ b/reactos/subsys/win32k/ntuser/menu.c @@ -968,7 +968,7 @@ IntBuildMenuItemList(PMENU_OBJECT MenuObject, PVOID Buffer, ULONG nMax) SetLastNtError(Status); return 0; } - Buf += sizeof(ROSMENUITEMINFO); + Buf = (PVOID)((ULONG_PTR)Buf + sizeof(ROSMENUITEMINFO)); if (0 != CurItem->Text.Length && (nMax >= CurItem->Text.Length + sizeof(WCHAR)))