Make sure to check for invalid NULL handles before passing them to GDIOBJ_bLockMultipleObjects, which skips NULL handles. This is a design limitation, since otherwise we either need to pass a bitfield of valid handles, or duplicate code in certain functions, where different combinations of dest, source and mask dc are allowed.
svn path=/trunk/; revision=63442
Add SEH to LpcpCreatePort and NtAcceptConnectPort. Based on patches by Aleksander Andrejevic ([TheFlash])
CORE-7156 #resolve
CORE-7371 #comment SEH still missing in NtSecureConnectPort, NtReplyPort, NtReplyWaitReceivePortEx, NtRequestPort
svn path=/trunk/; revision=63436
Update display even when mouse does not move. Patch by Andrea Faulds.
CORE-4739 #comment Committed in r63429, thanks. #resolve
svn path=/trunk/; revision=63429
- ScanForUnpartitionedDiskSpace: Scan the list of logical partitions for unpartitioned space too.
- Fix a little typo.
svn path=/trunk/; revision=63421
When a user mode debugger has single stepping enabled and steps over a sysenter instruction, you are obviously not supposed to enter the kernel debugger on the syscall entry handler. But exactly this happened on reactos. This was because the sysenter instruction doesn't disable single stepping, so we need to handle this special case manually in the single stepping handler (which we didn't). We now check if the single step comes from KiFastCallEntry and when it does, disable single stepping in the current (nested) trap frame and return back to a secondary fast call entry. The 2nd entrypoint will make sure to re-enable the single step flag in EFLAGS before returning to usermode.
To make this actually work, the asm entry stub itself needs to handle saving of eflags, so some trap frame modification from KiFastCallEntryHandler was moved into the asm stub. Since the amount of asm instructions is rather small (10 instructions, pretty straight forward) I moved everything from KiSystemServiceHandler to the asm stub and killed KiFastCallEntryHandler entirely, calling KiSystemServiceHandler instead.
Now stepping over a sysenter instruction works with OllyDbg without breaking into the kernel debugger. CORE-8057 #resolve
svn path=/trunk/; revision=63420
- Fix a failed partition type assignment, when unpartitioned disk space is converted to an extended partition.
- Rename the extended partition list to logical partition list.
- Add a pointer to an extended partition to the disk entries. And keep it up-to-date when the primary partition list is built or modified.
- Add the 'Unpartitioned space' partiton entry to the logical partition list when an extended partition has been created.
- Remove all logical partition entries when the coresponding extended partition will be deleted.
svn path=/trunk/; revision=63411
Don't access the object header of a kernel object from win32k. Instead get the desktop name from the desktop info structure. CORE-6818 #resolve
svn path=/trunk/; revision=63409
Pass process id to DbgUnLoadImageSymbols instead of ZwCurrentProcess() or a PEPROCESS.
Patch by Jérôme Gardou <jerome.gardou at reactos dot org>
CORE-8253 #resolve
svn path=/trunk/; revision=63406
- Do not align the size of a memory area to the allocation granularity, but to PAGE_SIZE. Fixes OllyDbg regression from r61108. CORE-8168 #resolve
- Clarify the size calculation in MmCreateMemoryArea
- Silence a few DPRINTs
svn path=/trunk/; revision=63405
- Fix a bit the translation of yesterday;
- Use TEXT_PADDING_BIG instead of hardcoding 3 spaces in the status messages.
svn path=/trunk/; revision=63398
Do not ASSERT, when an unimplemented, yet legal flag (MEM_RESERVE) is passed to NtMapViewOfSection. Instead fail gracefully.
svn path=/trunk/; revision=63395
Also, for reference: r23894 contained working implemnentations in fpu.c. In r23895 ion "moved" it to cpu.c, killing the MSVC implementation in the process. In 23972, ion added new MSVC code for it, but this new version had the bug. It has remained undiscovered until very recently.
svn path=/trunk/; revision=63391
Fix ending address calculation for the commit path in NtAllocateVirtualMemory like done for the reserve path in r63356. Add a comment about a Windows kernel bug, which we will keep for now, until the implications are better determined.
svn path=/trunk/; revision=63388
Use a separate palette for text mode. Previously the text mode palette was equal to the
first 16 entries of the graphical palette, which is wrong since the AC registers can be
used to select arbitrary colors from the DAC.
svn path=/trunk/; revision=63385