Aleksey Bragin [Sun, 20 Feb 2011 09:54:01 +0000 (09:54 +0000)]
[RTL/DPH]
- Fix a bug with node count in RtlpDphAddNewPool().
- Unprotect needed amount of memory in RtlpDphSetProtectionBeforeUse() instead of always assuming PAGE_SIZE.
- Fix an incorrect virtual block pointer calculation in RtlpPageHeapAllocate().
- Silence RtlpDphShouldAllocateInPageHeap() debug print.
- Add helpful debug prints (disabled by default).
- Some code cleanup for better readibility.
- Heap create, destroy and allocating a block from the heap work now.
svn path=/trunk/; revision=50828
Timo Kreuzer [Sat, 19 Feb 2011 23:44:36 +0000 (23:44 +0000)]
[WIN32K]
NtGdiSelectBitmap. Don't exclusively lock the old bitmap. This could cause pool corruptions, when the share count reachted 0, the object was deleted and unlocked after that. Use InterlockedCompareExchange to check and exchange the new bitmaps dc. This is commented out, because it causes a lot of drawing problems. Do the referencing manually instead of calling DC_vSelectSurface. Use a shared reference instead of an exclusive lock for the new bitmap. add code for proper handling of DEFAULT_BITMAP, currently hacked due to restrictions in other parts of win32k. Fixes bug 5498 and probably a lot of other problems.
svn path=/trunk/; revision=50827
Timo Kreuzer [Sat, 19 Feb 2011 22:29:31 +0000 (22:29 +0000)]
[WIN32K]
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
Timo Kreuzer [Sat, 19 Feb 2011 22:03:34 +0000 (22:03 +0000)]
[WIN32K]
- add tracing of exclusive gdi locks
- add some asserts
svn path=/trunk/; revision=50825
Timo Kreuzer [Sat, 19 Feb 2011 21:56:43 +0000 (21:56 +0000)]
[WIN32K]
- 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
Timo Kreuzer [Sat, 19 Feb 2011 21:50:11 +0000 (21:50 +0000)]
[NTOSKRNL]
Add support for debug pre/post syscall hooks, that can be registered from win32k. They only exist on DBG versions.
svn path=/trunk/; revision=50823
Amine Khaldi [Sat, 19 Feb 2011 21:24:47 +0000 (21:24 +0000)]
[EVENTVWR]
- 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
Sylvain Petreolle [Sat, 19 Feb 2011 18:43:54 +0000 (18:43 +0000)]
[NTOSKRNL]
Fix typo.
svn path=/trunk/; revision=50821
Eric Kohl [Sat, 19 Feb 2011 18:28:13 +0000 (18:28 +0000)]
[SETUPAPI]
- 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
Johannes Anderwald [Sat, 19 Feb 2011 17:00:08 +0000 (17:00 +0000)]
- Revert 49767 on Pierre's request, which reverted this:
- 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
Giannis Adamopoulos [Sat, 19 Feb 2011 16:09:59 +0000 (16:09 +0000)]
[win32k]
- 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
Pierre Schweitzer [Sat, 19 Feb 2011 13:58:55 +0000 (13:58 +0000)]
[NTOSKRNL]
- 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
Giannis Adamopoulos [Sat, 19 Feb 2011 12:22:52 +0000 (12:22 +0000)]
[win32k]
- Revert r50121 and r50154
svn path=/trunk/; revision=50816
Amine Khaldi [Sat, 19 Feb 2011 10:20:27 +0000 (10:20 +0000)]
Fix a typo.
svn path=/trunk/; revision=50815
Giannis Adamopoulos [Fri, 18 Feb 2011 20:26:19 +0000 (20:26 +0000)]
- Remove a documented definition from undocuser.h
svn path=/trunk/; revision=50814
Giannis Adamopoulos [Fri, 18 Feb 2011 20:16:43 +0000 (20:16 +0000)]
[user32/win32k]
- Implement MessageBeep and SetLogonNotifyWindow
[winlogon]
- Implement receiving notifications from win32k to play sounds of MessageBeep
svn path=/trunk/; revision=50813
Giannis Adamopoulos [Fri, 18 Feb 2011 16:28:52 +0000 (16:28 +0000)]
[win32k]
- Fix a bug that caused problems when the user clicks in the caption of a window to activate it
svn path=/trunk/; revision=50807
Timo Kreuzer [Fri, 18 Feb 2011 15:59:32 +0000 (15:59 +0000)]
[NTOSKRNL]
Alex messed up.
Fix by Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>
svn path=/trunk/; revision=50806
Timo Kreuzer [Fri, 18 Feb 2011 15:08:50 +0000 (15:08 +0000)]
[WIN32K]
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
Timo Kreuzer [Fri, 18 Feb 2011 15:01:00 +0000 (15:01 +0000)]
[CSRSRV]
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
Aleksey Bragin [Fri, 18 Feb 2011 14:45:13 +0000 (14:45 +0000)]
[RTL/DPH]
- 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
Timo Kreuzer [Fri, 18 Feb 2011 14:35:44 +0000 (14:35 +0000)]
[WIN32K]
compile gdidebug code as a seperate file and give it a seperate header
svn path=/trunk/; revision=50799
Giannis Adamopoulos [Fri, 18 Feb 2011 14:28:58 +0000 (14:28 +0000)]
[explorer]
- Fix some visual problems in the toolbar
svn path=/trunk/; revision=50798
Giannis Adamopoulos [Fri, 18 Feb 2011 14:26:11 +0000 (14:26 +0000)]
[win32k]
- Check if CombinedClip is NULL before accesing it
Should fix a crash with Download Master
svn path=/trunk/; revision=50797
Aleksey Bragin [Fri, 18 Feb 2011 09:48:13 +0000 (09:48 +0000)]
[RTL/AVL]
- Fix an inverted condition which resulted in incorrect assignment of NewElement var in RtlInsertElementGenericTableAvl().
svn path=/trunk/; revision=50784
Aleksey Bragin [Thu, 17 Feb 2011 22:29:49 +0000 (22:29 +0000)]
[RTL/DPH]
- 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
Aleksey Bragin [Thu, 17 Feb 2011 21:58:08 +0000 (21:58 +0000)]
[NTOS/MM]
- An accompanying change to r50768. Fixes boot.
svn path=/trunk/; revision=50770
Aleksey Bragin [Thu, 17 Feb 2011 16:52:06 +0000 (16:52 +0000)]
[RTL/AVL]
- 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
Aleksey Bragin [Thu, 17 Feb 2011 15:31:19 +0000 (15:31 +0000)]
- Fix build.
svn path=/trunk/; revision=50767
Aleksey Bragin [Thu, 17 Feb 2011 14:46:30 +0000 (14:46 +0000)]
[RTL/DPH]
- 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
Timo Kreuzer [Wed, 16 Feb 2011 23:29:50 +0000 (23:29 +0000)]
[WIN32K]
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
Aleksey Bragin [Wed, 16 Feb 2011 13:09:18 +0000 (13:09 +0000)]
[RTL/DPH]
- 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
Aleksey Bragin [Wed, 16 Feb 2011 11:49:51 +0000 (11:49 +0000)]
[RTL/DPH]
- 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
Aleksey Bragin [Tue, 15 Feb 2011 22:02:28 +0000 (22:02 +0000)]
[RTL/DPH]
- 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
Aleksey Bragin [Tue, 15 Feb 2011 11:53:16 +0000 (11:53 +0000)]
[RTL/DPH]
- 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
Timo Kreuzer [Mon, 14 Feb 2011 17:23:58 +0000 (17:23 +0000)]
[WIN32K]
- 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
Timo Kreuzer [Mon, 14 Feb 2011 16:04:01 +0000 (16:04 +0000)]
[WIN32K]
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
Aleksey Bragin [Sun, 13 Feb 2011 21:39:26 +0000 (21:39 +0000)]
[RTL/DPH]
- Implement list manipulation routines: pool list, virtual list, unused list.
- Implement node removal from an available list.
svn path=/trunk/; revision=50686
Pierre Schweitzer [Sun, 13 Feb 2011 20:23:03 +0000 (20:23 +0000)]
[NTOSKRNL]
Improved * WC handling for both FsRtlIsNameInExpression & FsRtlIsDbcsInExpression
This fixes all failing tests in kmtest
svn path=/trunk/; revision=50685
Aleksey Bragin [Sun, 13 Feb 2011 16:03:58 +0000 (16:03 +0000)]
[RTL/DPH]
- Implement adding a new pool and allocating a new node.
- Add a bunch of stubs.
svn path=/trunk/; revision=50683
Eric Kohl [Sun, 13 Feb 2011 10:02:31 +0000 (10:02 +0000)]
[CFGMGR32]
- Add missing functions.
- Add forwarders to functions that are exported by setupapi.dll.
- Mark deprecated functions.
svn path=/trunk/; revision=50682
Pierre Schweitzer [Sun, 13 Feb 2011 09:43:01 +0000 (09:43 +0000)]
[KMTEST]
Some more tests to FsRtlIsNameInExpression & FsRtlIsDbcsInExpression. Some are failing.
svn path=/trunk/; revision=50681
Pierre Schweitzer [Sun, 13 Feb 2011 08:43:48 +0000 (08:43 +0000)]
[NTOSKRNL]
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
Pierre Schweitzer [Sun, 13 Feb 2011 08:19:16 +0000 (08:19 +0000)]
[KMTEST]
Some more tests to FsRtlIsNameInExpression & FsRtlIsDbcsInExpression. Some are failing.
svn path=/trunk/; revision=50679
Eric Kohl [Sat, 12 Feb 2011 23:59:12 +0000 (23:59 +0000)]
[SETUPAPI]
Add resource descriptor function stubs.
svn path=/trunk/; revision=50678
Pierre Schweitzer [Sat, 12 Feb 2011 20:32:49 +0000 (20:32 +0000)]
Remove some artifact from ARM build.
Would it fix build?
svn path=/trunk/; revision=50677
Timo Kreuzer [Sat, 12 Feb 2011 20:30:09 +0000 (20:30 +0000)]
[WIN32K]
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
Eric Kohl [Sat, 12 Feb 2011 20:23:16 +0000 (20:23 +0000)]
[ADVAPI32]
Move file encryption functions from crypt/crypt.c to misc/efs.c.
svn path=/trunk/; revision=50675
Johannes Anderwald [Sat, 12 Feb 2011 18:55:52 +0000 (18:55 +0000)]
- Fix a bug where a spinlock was acquired on not initialized local variable
svn path=/trunk/; revision=50673
Pierre Schweitzer [Sat, 12 Feb 2011 18:39:17 +0000 (18:39 +0000)]
[NTOSKRNL]
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
Johannes Anderwald [Sat, 12 Feb 2011 17:40:51 +0000 (17:40 +0000)]
- Revert 45676
- It appears that the definitions for IID_IUnknown differ for kernel mode COM and user mode COM
svn path=/trunk/; revision=50669
Timo Kreuzer [Sat, 12 Feb 2011 16:55:08 +0000 (16:55 +0000)]
[COMCTL32]
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
Aleksey Bragin [Sat, 12 Feb 2011 16:38:00 +0000 (16:38 +0000)]
[RTL/DPH]
- Add core DPH (Debug Page Heap) structures based on Windows 2003/Vista.
- Add misc generic support routines.
- Implement DPH version of RtlCreateHeap().
- Debug prints match those printed by Windows 2003.
svn path=/trunk/; revision=50667
Aleksey Bragin [Sat, 12 Feb 2011 09:28:41 +0000 (09:28 +0000)]
[NDK]
- Add RTL_TRACE_BLOCK structure definition.
svn path=/trunk/; revision=50665
Timo Kreuzer [Fri, 11 Feb 2011 21:22:18 +0000 (21:22 +0000)]
[NTDLL_APITEST]
some printf tests
svn path=/trunk/; revision=50663
Timo Kreuzer [Fri, 11 Feb 2011 18:05:48 +0000 (18:05 +0000)]
try to fix build
svn path=/trunk/; revision=50662
Timo Kreuzer [Fri, 11 Feb 2011 17:41:05 +0000 (17:41 +0000)]
Add missing stubs.h
svn path=/trunk/; revision=50661
Timo Kreuzer [Fri, 11 Feb 2011 17:27:43 +0000 (17:27 +0000)]
add stub files to build
svn path=/trunk/; revision=50659
Timo Kreuzer [Fri, 11 Feb 2011 17:01:40 +0000 (17:01 +0000)]
merge most spec file changes from cmake branch
svn path=/trunk/; revision=50657
Amine Khaldi [Fri, 11 Feb 2011 13:48:41 +0000 (13:48 +0000)]
Reduce difference with the cmake branch, mostly msvc and amd64 fixes.
svn path=/trunk/; revision=50656
Timo Kreuzer [Thu, 10 Feb 2011 20:26:41 +0000 (20:26 +0000)]
[FREELDR]
Fix broken release version
svn path=/trunk/; revision=50655
Aleksey Bragin [Thu, 10 Feb 2011 18:21:53 +0000 (18:21 +0000)]
- Add stubs for all page heap API functions.
- Enable call to RtlpPageHeapDestroy() when necessary.
- Reset Parameters==-1 hack after unsuccessful call to RtlpPageHeapCreate(), would be necessary when page heap is implemented..
svn path=/trunk/; revision=50654
Amine Khaldi [Thu, 10 Feb 2011 17:13:53 +0000 (17:13 +0000)]
[XCOPY]
- Spanish translation by JasonGenie at gmail dot com
See issue #5889 for more details.
svn path=/trunk/; revision=50653
Aleksey Bragin [Thu, 10 Feb 2011 13:24:39 +0000 (13:24 +0000)]
[RTL]
- Move page heap related code to heappage.c.
svn path=/trunk/; revision=50652
Timo Kreuzer [Thu, 10 Feb 2011 13:01:39 +0000 (13:01 +0000)]
Merge MSVC fixes from cmake branch
svn path=/trunk/; revision=50650
Timo Kreuzer [Thu, 10 Feb 2011 11:47:17 +0000 (11:47 +0000)]
[RTL]
Merge changes to rtl from cmake branch. Mostly use portable interlocked functions
svn path=/trunk/; revision=50648
Timo Kreuzer [Thu, 10 Feb 2011 11:35:05 +0000 (11:35 +0000)]
Merge CRT changes from cmake branch (mainly MSVC compilation fixes)
svn path=/trunk/; revision=50647
Aleksey Bragin [Thu, 10 Feb 2011 11:18:00 +0000 (11:18 +0000)]
- Edijs: Properly load window size and position.
See issue #5872 for more details.
svn path=/trunk/; revision=50646
Timo Kreuzer [Thu, 10 Feb 2011 11:03:43 +0000 (11:03 +0000)]
Fix build of shlwapi
svn path=/trunk/; revision=50645
Timo Kreuzer [Thu, 10 Feb 2011 10:51:26 +0000 (10:51 +0000)]
fix taskmgr build
svn path=/trunk/; revision=50644
Timo Kreuzer [Thu, 10 Feb 2011 10:45:45 +0000 (10:45 +0000)]
Merge resource file related changes from cmake branch part 2
svn path=/trunk/; revision=50643
Timo Kreuzer [Thu, 10 Feb 2011 10:39:34 +0000 (10:39 +0000)]
Merge resource file related changes from cmake branch part 1
svn path=/trunk/; revision=50641
Timo Kreuzer [Thu, 10 Feb 2011 10:30:43 +0000 (10:30 +0000)]
Merge all amd64 related changes from cmake branch
svn path=/trunk/; revision=50640
Aleksey Bragin [Wed, 9 Feb 2011 21:22:47 +0000 (21:22 +0000)]
- Add a missing ORing of the registry-loaded GlobalFlags value in ExpInitializeExecutive. Thanks to Robert Horvath for spotting the issue.
See issue #5870 for more details.
svn path=/trunk/; revision=50639
Aleksey Bragin [Wed, 9 Feb 2011 20:50:28 +0000 (20:50 +0000)]
- Robert Horvath: Add GlobalFlag entry in hivesys_{arch}.inf with the default value 0x0.
See issue #5870 for more details.
svn path=/trunk/; revision=50638
Aleksey Bragin [Wed, 9 Feb 2011 20:42:44 +0000 (20:42 +0000)]
- Robert Horvath: LocalUnlock has to be different from GlobalUnlock. The subtle difference between LocalUnlock and GlobalUnlock, is, that the former will return FALSE and set ERROR_NOT_LOCKED on LMEM_FIXED allocations. Fixes 1 kernel32:heap failure.
See issue #5869 for more details.
svn path=/trunk/; revision=50637
Aleksey Bragin [Wed, 9 Feb 2011 14:07:10 +0000 (14:07 +0000)]
- Enable simple FontSmoothing by default. It matters for arwinss, trunk just ignores this value and always smoothes the fonts.
svn path=/trunk/; revision=50634
Aleksey Bragin [Wed, 9 Feb 2011 13:31:31 +0000 (13:31 +0000)]
- Add GetTransform declaration. (until we have undocgdi.h).
svn path=/trunk/; revision=50633
Timo Kreuzer [Wed, 9 Feb 2011 09:31:37 +0000 (09:31 +0000)]
[WIN32K]
add missing file
svn path=/trunk/; revision=50626
Timo Kreuzer [Wed, 9 Feb 2011 01:07:30 +0000 (01:07 +0000)]
[NCI]
Ue macros for the other nci generated files, too and delete nci-tool.
svn path=/trunk/; revision=50625
Pierre Schweitzer [Tue, 8 Feb 2011 23:36:14 +0000 (23:36 +0000)]
[FREELDR/NTFS]
Some fixes and addings to the NTFS header.
To be used later in order to fix NTFS driver in FreeLdr
svn path=/trunk/; revision=50624
Timo Kreuzer [Tue, 8 Feb 2011 20:32:04 +0000 (20:32 +0000)]
try to fix build.
How did it work before? Probably by chance. "As usual"(tm)
svn path=/trunk/; revision=50623
Timo Kreuzer [Tue, 8 Feb 2011 19:00:54 +0000 (19:00 +0000)]
[ASM]
- Change the macros to prefix the labels with Nt or Zw depending on whether we build usermode or kernel mode stubs
- Create zw.S using the macros
svn path=/trunk/; revision=50622
Timo Kreuzer [Tue, 8 Feb 2011 17:33:50 +0000 (17:33 +0000)]
[WIN32KSYS]
replace nci-generated stubs with a stub file using macros
svn path=/trunk/; revision=50621
Timo Kreuzer [Tue, 8 Feb 2011 16:50:49 +0000 (16:50 +0000)]
[ASM]
Add syscalls.inc, containing assembler macros to generate syscall stubs (all supported architectures)
svn path=/trunk/; revision=50620
Aleksey Bragin [Tue, 8 Feb 2011 15:55:56 +0000 (15:55 +0000)]
- "FontSmoothing" system parameter registry key should be REG_SZ (as it is in Windows, and as other SPIs are).
svn path=/trunk/; revision=50619
Roel Messiant [Tue, 8 Feb 2011 06:06:33 +0000 (06:06 +0000)]
[HEAP]
- RtlpInsertFreeBlockHelper: Don't validate the Previous Size of the next Heap Entry when inserting a free Heap Entry into a free list. Should solve bug #5843 and may affect bug #5857.
All callers of this function already perform this check, except for RtlpInsertFreeBlock, a function used during Heap Segment creation/expansion.
RtlpInsertFreeBlock creates multiple free Heap Entries (using the helper function) if the free space is too big to be contained in a single Heap Entry.
In such a case however, it creates a Heap Entry and calls the helper before creating the next Heap Entry, which triggers this assert.
svn path=/trunk/; revision=50617
Pierre Schweitzer [Mon, 7 Feb 2011 23:23:33 +0000 (23:23 +0000)]
[RTL]
Minor code changes to RTL (one would call them "optimisation"). Added some missing paged code.
Plus added useful asserts (used to catch r50615 bug!)
svn path=/trunk/; revision=50616
Pierre Schweitzer [Mon, 7 Feb 2011 23:16:29 +0000 (23:16 +0000)]
[USETUP]
Fix a really mean bug: wcslen() returns the size in characters whereas MaximumLength has to be in bytes.
Now, this sets MaximumLength to its appropriate size and prevents some memory issues (and buffers having odd size, which is weird for an unicode string...).
svn path=/trunk/; revision=50615
Pierre Schweitzer [Mon, 7 Feb 2011 21:38:55 +0000 (21:38 +0000)]
[KMTEST]
Adding a new test for FsRtlIsNameInExpression(). Which is failing...
Will that end a day?!
svn path=/trunk/; revision=50614
Pierre Schweitzer [Sun, 6 Feb 2011 13:50:57 +0000 (13:50 +0000)]
[NTOSKRNL/PPC]
Fix the fix, spotted by "ThFabba" on IRC
svn path=/trunk/; revision=50612
Pierre Schweitzer [Sun, 6 Feb 2011 13:05:45 +0000 (13:05 +0000)]
[NTOSKRNL/PPC]
Fix sizeof() wrong usage
svn path=/trunk/; revision=50611
Eric Kohl [Sat, 5 Feb 2011 21:58:19 +0000 (21:58 +0000)]
[SETUPAPI]
Implement CM_Is_Version_Available and CM_Is_Version_Available_Ex.
svn path=/trunk/; revision=50610
Jérôme Gardou [Sat, 5 Feb 2011 16:00:11 +0000 (16:00 +0000)]
[SYSSETUP]
SC Manager needs SC_MANAGER_ENUMERATE_SERVICE access right to be able to open a service
Add debug prints to help tracking down the "EnableUserModePnpManager()" issue
svn path=/trunk/; revision=50609
Timo Kreuzer [Fri, 4 Feb 2011 23:19:00 +0000 (23:19 +0000)]
[NTOS]
Try to fix a winetst crash.
svn path=/trunk/; revision=50607
Timo Kreuzer [Fri, 4 Feb 2011 13:53:49 +0000 (13:53 +0000)]
[WIN32K]
Fix a bug in calculation of the background color for 32bpp -> 1bpp color translations.
Fixes bug 2372
svn path=/trunk/; revision=50605
Timo Kreuzer [Thu, 3 Feb 2011 19:25:09 +0000 (19:25 +0000)]
[WIN32K]
Fix buggy mechanism of pushing and popping free gdi handle slots. The old mechanism unneccessarily locked the entry and it was prone to the ABA problem as it didn't use a sequence number.
svn path=/trunk/; revision=50604
Amine Khaldi [Thu, 3 Feb 2011 18:21:19 +0000 (18:21 +0000)]
[PORTCLS]
- Fix more msvc issues.
svn path=/trunk/; revision=50602
Johannes Anderwald [Thu, 3 Feb 2011 17:17:18 +0000 (17:17 +0000)]
[PORTCLS]
- Try fix msvc issues for cmake branch
svn path=/trunk/; revision=50601
Johannes Anderwald [Thu, 3 Feb 2011 09:34:59 +0000 (09:34 +0000)]
[AUDIO]
- Add i/o completion routine, which delivers the number of bytes written / read
- Close event handle, after the overlapped request has been handled.
- Audio stack no longer leaks ~ 50 event handles per second
svn path=/trunk/; revision=50600