NtGdiStretchDIBitsInternal: don't call NtGdiGetDCObject and NtGdiCreateCompatibleDC with a dc locked. These cases are not harmful, but generally Nt* and Gre* should never be called with an exclusive gdi lock held. Also don't return in failure case with the dc still locked.
svn path=/trunk/; revision=50826
- Add ros specific member cExclusiveLocks to THREADINFO to track number of acquired locks
- Add functions/macros to check lock count
- Move some definitions into gdidebug.h for global use
- Fix broken GdiDbgHTIntegrityCheck
- Add pre and post syscall hook functions (unused yet)
svn path=/trunk/; revision=50824
- Fix handling of NULL lpComputerName.
- Handle lpData conversion to a wide string and make sure it's NULL terminated.
- Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>
See issue #5926 for more details.
svn path=/trunk/; revision=50822
- Implement CM_Get_Device_Interface_AliasA, CM_Get_Device_Interface_AliasW and
CM_Get_Device_Interface_Alias_ExW.
- Add a stub for CM_Get_Device_Interface_Alias_ExA.
- Implement the obsolete functions CM_Query_Remove_SubTree[_Ex] and CM_Remove_SubTree[_Ex].
svn path=/trunk/; revision=50820
- Added real implementation of SetLastError() (instead of forwarding to NTDLL)
- Implemented BaseSetLastNTError()
- Renamed Basep8BitStringToCachedUnicodeString() to Basep8BitStringToStaticUnicodeString() and sightly changed its implementation
- Fixed implementation of LoadLibraryExA() & DisableThreadLibraryCalls() using those changes
This is matching w2k3 implementation. This is of course a WIP.
svn path=/trunk/; revision=50819
- Fix combobox to show the drop down window correctly when the parent window is topmost
See issue #5705 for more details.
svn path=/trunk/; revision=50818
- No need to use ULONG when dealing with strings, USHORT is enough. This makes MSVC warnings silent.
- Fix a really nasty bug in FsRtlIsHpfsDbcsLegal()
svn path=/trunk/; revision=50817
- Implement MessageBeep and SetLogonNotifyWindow
[winlogon]
- Implement receiving notifications from win32k to play sounds of MessageBeep
svn path=/trunk/; revision=50813
Fix a bug in GDIOBJ_LockObj, that would cause a deadlock, when an object was deleted while another thread was waiting to acquire the handle lock.
svn path=/trunk/; revision=50804
Dereference all threads, when a process is terminated. Fixes ghost processes in taskmgr! Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>
See issue #1567 for more details.
svn path=/trunk/; revision=50803
- Zero-initialize VM allocation base.
- Don't reserve VM, just commit it right away. This was a premature optimisation. Instead, retry committing a smaller amount of memory if committing all memory fails.
svn path=/trunk/; revision=50800
- Fix an inverted condition which resulted in incorrect assignment of NewElement var in RtlInsertElementGenericTableAvl().
svn path=/trunk/; revision=50784
- Various fixes: set NodeToAllocate member of the heap root so it could be used lated in AVL allocation routine, initialize the AvailableAllocation list.
- Comment out biased pointer checks for now, and fix biasing the AdjacencyEntry pointer (spotted by rafalh).
svn path=/trunk/; revision=50773
- Remove unnecessary field from TABLE_ENTRY_HEADER. Spotted by (the only in ReactOS?) user of RTL AVL tables - page heap.
svn path=/trunk/; revision=50768
- Implement allocating from the page heap along with all necessary helper routines. Some minor things are left though, so it doesn't work yet.
- Change some defines names to more meaningful/readable.
svn path=/trunk/; revision=50766
In IntEngGradientFillRect, take the translate value into account, that we need when drawing happens on an intermediate surface. Patch by Thomas Faber (ThFabba at gmx dot de)
See issue #5805 for more details.
svn path=/trunk/; revision=50764
- Connect debug page heap routines in the debug heap implementation, so they are going to be actually called now.
- Implement delayed free queue initialization and freeing.
svn path=/trunk/; revision=50734
- Use better names for validation information flags based on application verifier messages.
- Implement a simple RtlpDphReportCorruptedBlock routine which just prints the problem description for now, without any additional info.
svn path=/trunk/; revision=50730
- Implement other support locking/unlocking, handle-related routines.
- Fix RtlpDphFreeVm definition.
- Node lists related improvements: Add a function for removing a node from a free list, implement coalescing free nodes into an available list.
- Implement a non-implemented case in RtlpDphAllocateNode when there is a need to allocate more virtual memory, and fix incorrect size calculation too.
- Implement a function for validating the page heap block.
- Implement RtlpPageHeapDestroy. Now we have two exported APIs ready: heap create and heap destroy.
svn path=/trunk/; revision=50721
- Implement more support functions: coalescing a node into the list of available nodes, finding a best fitting node for a given size, growing available virtual memory amount.
svn path=/trunk/; revision=50698
- Remove gexloTrivial, it was never used
- Remove EXLATEOBJ_vInitTrivial and move the code into EXLATEOBJ_vInitialize
- Properly set XO_TABLE
- Set ppalDstDc in EXLATEOBJ_vInitXlateFromDCs
svn path=/trunk/; revision=50695
Fix initialization of XLATEOBJ, when source and dest format are equal. Patch by Thomas Faber (thfabba at gmx de)
See issue #5828 for more details.
svn path=/trunk/; revision=50694
- Implement list manipulation routines: pool list, virtual list, unused list.
- Implement node removal from an available list.
svn path=/trunk/; revision=50686
Improved * WC handling for both FsRtlIsNameInExpression & FsRtlIsDbcsInExpression
This fixes all failing tests in kmtest
svn path=/trunk/; revision=50685
- Add missing functions.
- Add forwarders to functions that are exported by setupapi.dll.
- Mark deprecated functions.
svn path=/trunk/; revision=50682
For both FsRtlIsNameInExpression & FsRtlIsDbcsInExpression:
- Get back "useless checks" (tests show they weren't that useless)
- Prevent code redundancy
This fixes 4 failing kmtest tests added in r50679
svn path=/trunk/; revision=50680
Handle BITMAPV4HEADER and BITMAPV5HEADER, when creating a DIB palette. Detect PAL_RGB like done with PAL_BGR in PALETTE_AllocPalette (optimization).
Fixes pink icons.
svn path=/trunk/; revision=50676
For both FsRtlIsNameInExpression & FsRtlIsDbcsInExpression:
- Remove useless checks
- Move redundant sum before loop, so it's done only once
- Fix handling of * wildcard
This fixes failing kmtest tests added in r50614
svn path=/trunk/; revision=50670
Fix bitmap resources. They were not very valid. Windows didn't even load them. Probably created with some linux tool *cough*
Fixes part of the broken icons. Not the pink ones though.
svn path=/trunk/; revision=50668