Commit graph

44731 commits

Author SHA1 Message Date
Pierre Schweitzer d0b18829cd [KMTEST]
Adding more tests for FsRtlIs*InExpression() functions.
All are failing (overrun / wrong result).
Based on Thomas Faber's C program.
See bug #5923

svn path=/trunk/; revision=50870
2011-02-23 10:20:23 +00:00
Pierre Schweitzer 41ee0f405e [KERNEL32]
Don't make CopyFileExA() rely on Wine's strings conversions functions

svn path=/trunk/; revision=50869
2011-02-22 19:07:45 +00:00
Pierre Schweitzer 8dc411563b [KERNEL32]
Don't make FindFirstChangeNotificationA() rely on Wine's strings conversions functions

svn path=/trunk/; revision=50868
2011-02-22 18:56:46 +00:00
Pierre Schweitzer f617d8910c [KERNEL32]
Don't make GetBinaryTypeA() rely on Wine's strings conversions functions

svn path=/trunk/; revision=50867
2011-02-22 18:43:38 +00:00
Timo Kreuzer e9b58620aa [CRT]
Fix special behaviour of wsprintf: when used with # flag, the "0x" prefix does not count into the field width, so we have to add additional 2 characters here. Fixes Opera installer.
See issue #5900 for more details.

svn path=/trunk/; revision=50866
2011-02-22 17:29:32 +00:00
Timo Kreuzer 75e685f7ef [NOTEPAD]
Patch by EDIJS <terminedijs at yahoo dot com>: Improve window caption string.
By me: use StringCchCat instead of _tcscat to prevent possible buffer overruns.

See issue #5871 for more details.

svn path=/trunk/; revision=50864
2011-02-22 09:59:49 +00:00
Daniel Reimer 899ae979f5 Update rapps database.
svn path=/trunk/; revision=50862
2011-02-21 23:26:03 +00:00
Timo Kreuzer 39a0c140c2 [CRT]
Improve _getdrive and _tchdir. Patch by devpao (devotip at tiscali dot it), small formatting change by me.
See issue #5848 for more details.

svn path=/trunk/; revision=50861
2011-02-21 23:11:53 +00:00
Aleksey Bragin e9af1d723f [RTL/DPH]
- Implement heap free operation using already implemented busy/free/available/unused lists support and other base routines.
- Implement missing place to free list and remove from busy list routines.
- Implement find busy block routine (using AVL tree).
- Fix a bug in RtlpDphCoalesceNodeIntoAvailable() which resulted in unwanted attempt to merge the only node with itself (which failed anyway).
- Fix a bug in RtlpDphCoalesceNodeIntoAvailable() which incorrectly removed a node from available list (which is implemented as a standard NT double-linked list, compared to unused and free lists which are implemented as single-linked custom lists and busy list which is an AVL tree). Result of that bug was an infinite loop at the next attempt to traverse the list of available nodes.
- In RtlpDphCoalesceFreeIntoAvailable() break when FreeAllocations becomes less than LeaveOnFreeList (before it would break 1 size too early).
- Fix list traversal in RtlpDphSearchAvailableMemoryListForBestFit(). If it couldn't find a node, it would return the last node in the list instead of NULL.
- In RtlpDphFindAvailableMemory(), a new smaller size should be 4 times smaller, not just 2. 
- Add a #if0-ed section in RtlpDphRemoveFromAvailableList which checks if a request to remove node not in the list performed. Used only for debugging.
- Add a trace dprint to every type of list insert/removal operation for easier tracking.
- Add break on NULL ptr freeing support.
- RtlpDphSetProtectionAfterUse() is stubbed and protection is set directly in RtlpDphHeapFree(). To be moved into this function.

svn path=/trunk/; revision=50860
2011-02-21 22:42:21 +00:00
Timo Kreuzer 77aa443412 [USER32]
Fix a typo. Fixes "Calling invalid routine number 0x10 in NtUserCallOneParam()"

svn path=/trunk/; revision=50858
2011-02-21 20:55:45 +00:00
Aleksey Bragin 70fcc31092 [RTL/AVL]
- Zero out contents of a newly allocated AVL table node.

svn path=/trunk/; revision=50855
2011-02-21 13:33:13 +00:00
Amine Khaldi 45efecf8e0 [RTL]
- Silence this dprint. It's flooding the debug log.

svn path=/trunk/; revision=50854
2011-02-21 09:12:43 +00:00
James Tabor 5d30cb38c3 [Win32k]
- Fix crash with win wine test. Win test works on my tree here and hardware as well.

svn path=/trunk/; revision=50853
2011-02-21 09:01:07 +00:00
Pierre Schweitzer 168de1f20c [KERNEL32]
Forgotten changes to .pspec.
Why is there still a .def?

svn path=/trunk/; revision=50852
2011-02-21 07:23:18 +00:00
Johannes Anderwald 38242931f1 [MMEBUDDY]
- Check if there is a reset request in progress while the wave thread is active. In that case exit the wave buffer commiting activity
- In the reset routine, perform an alertable wait in order to make the apc io completion complete
[PORTCLS]
- Only perform copying audio bytes to dma buffer while the adapter is reset state is KSREST_END
- Set the reset state indicator before canceling the audio buffers
- Should fix the audio hang experienced in Winamp when skipping audio bytes

svn path=/trunk/; revision=50851
2011-02-21 04:22:45 +00:00
Johannes Anderwald 80cc7f2ee8 [PORTCLS]
- Remove the oldest hack in portcls
- Please report any regression(s)

svn path=/trunk/; revision=50850
2011-02-20 23:01:14 +00:00
Pierre Schweitzer 397fb380b3 [KERNEL32]
Don't mix tab index and memory length...
This fixes several bugs in GetTempFileNameW() and prevents memory corruption ~
Winetest regression is gone :)

svn path=/trunk/; revision=50849
2011-02-20 22:57:31 +00:00
Timo Kreuzer 98eeb0943d [HAL]
Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>:
- Fix Port numbers and ranges in HalpDefaultIoSpace (divide by 0x100)
By me:
- Fix DMA 1 port range and fix comment

See issue #5925 for more details.

svn path=/trunk/; revision=50848
2011-02-20 22:30:50 +00:00
James Tabor 6e2693dad2 [Win32k|User32]
- WM_MDICREATE originates from user space so treat it as it should, fixes bug 5903.

svn path=/trunk/; revision=50847
2011-02-20 22:20:51 +00:00
James Tabor 1e0e0dd6be [Win32k]
- Restore original patch 50154.

svn path=/trunk/; revision=50846
2011-02-20 22:20:42 +00:00
James Tabor 231588606c [Win32k]
- Remove unused class list pointer and clear the class registered flag.

svn path=/trunk/; revision=50845
2011-02-20 22:20:23 +00:00
Eric Kohl 30810893ad [SETUPAPI]
- Add 'pSetup'-Prefix to the string table functions according to the new naming convention.
- Remove the obsolete function StringTableTrim.

svn path=/trunk/; revision=50844
2011-02-20 22:13:59 +00:00
Pierre Schweitzer 225933083b [WIN32CSR]
Silence CsrGetTempFile() debug

svn path=/trunk/; revision=50843
2011-02-20 21:47:41 +00:00
Pierre Schweitzer e3a5544d25 [CONSOLE]
French translation by Jason Toscano <JasonGenie@gmail.com>
Corrections/adjustements by me

svn path=/trunk/; revision=50842
2011-02-20 21:40:04 +00:00
Pierre Schweitzer f012532999 [RUNONCE]
Fixed a typo in french translation

svn path=/trunk/; revision=50841
2011-02-20 21:22:53 +00:00
Eric Kohl 5b4f2417fb [SETUPAPI]
Implement CM_Query_And_Remove_SubTree[_Ex]A/W and CM_Request_Device_Eject[_Ex]A/W.

svn path=/trunk/; revision=50840
2011-02-20 20:52:52 +00:00
Pierre Schweitzer bd3cef98c1 [KERNEL32]
- Get rid of Wine's implementation of GetTempFileNameA/W and reimplement them in the Windows 2003 way.
This fixes bug #5481

svn path=/trunk/; revision=50839
2011-02-20 19:49:02 +00:00
Pierre Schweitzer 6b74e9a992 [KERNEL32]
- Get rid of old function Basep8BitStringToLiveUnicodeString() that doesn't exist under Windows, and that was even unused
- Rename Basep8BitStringToHeapUnicodeString() to Basep8BitStringToDynamicUnicodeString() and fix its implementation (and all the calls)
- Define BasepUnicodeStringTo8BitString()

svn path=/trunk/; revision=50838
2011-02-20 19:40:15 +00:00
Pierre Schweitzer cbfa1e3dbb [KERNEL32]
Properly implement GetLastError and export it.

svn path=/trunk/; revision=50837
2011-02-20 19:33:45 +00:00
Pierre Schweitzer 35587944a0 [RTL]
- Fixed RtlMultiByteToUnicodeN & RtlAnsiCharToUnicodeChar prototype
- Added missing paged code marker to RtlAnsiCharToUnicodeChar
- Added a small hack to RtlAnsiCharToUnicodeChar. Indeed, when it's called during second stage, it's failing due to missing NLS table.
Probably usetup that doesn't define a registry entry. And then, FreeLdr just passes null pointer.

svn path=/trunk/; revision=50836
2011-02-20 19:28:34 +00:00
Pierre Schweitzer 43a5ab1712 [WIN32CSR]
Add a new API GetTempFile() that returns an identifier to be used for creating temporary files.
This API should be in basesrv.dll

svn path=/trunk/; revision=50835
2011-02-20 19:23:46 +00:00
Johannes Anderwald f59aa17010 [USETUP]
- Get rid of indirection
See issue #5190 for more details.

svn path=/trunk/; revision=50834
2011-02-20 16:50:38 +00:00
Johannes Anderwald 759dd145d1 - Add french translation for runonce utility
- Add svn:eol-style native property
- Fix language id (SUBLANG_DEFAULT -> SUBLANG_NEUTRAL)
See issue #5918 for more details.

svn path=/trunk/; revision=50833
2011-02-20 16:32:21 +00:00
Timo Kreuzer 6e366de8b6 [KERNEL32]
64 bit compatibility fix for IsWow64Process. Patch by Thomas Faber <thfabba at gmx dot de>

svn path=/trunk/; revision=50832
2011-02-20 12:07:28 +00:00
Timo Kreuzer 6da719aa66 [NTOSKRNL]
Halfplement (win32 only) ProcessWow64Information case in NtQueryInformationProcess. Patch by Samuel Serapion.

See issue #5916 for more details.

svn path=/trunk/; revision=50831
2011-02-20 11:27:07 +00:00
Timo Kreuzer c5e43261f2 [CHARMAP]
Patch by Carlo Bramini (carlo bramix at libero dot it)
- Make the text copy field a richedit control.
- Use WM_CHAR to copy the characters
- Fix definition of MSFTEDIT_CLASS for the resource compiler

See issue #5275 for more details.

svn path=/trunk/; revision=50830
2011-02-20 10:55:48 +00:00
Eric Kohl f411e07b42 [SETUPAPI]
Implement CM_Get_Hardware_Profile_Info[_Ex]A/W.

svn path=/trunk/; revision=50829
2011-02-20 10:44:30 +00:00
Aleksey Bragin 37ab9f5320 [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
2011-02-20 09:54:01 +00:00
Timo Kreuzer ebc9df1a25 [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
2011-02-19 23:44:36 +00:00
Timo Kreuzer 3e75942b10 [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
2011-02-19 22:29:31 +00:00
Timo Kreuzer ebf22c9469 [WIN32K]
- add tracing of exclusive gdi locks
- add some asserts

svn path=/trunk/; revision=50825
2011-02-19 22:03:34 +00:00
Timo Kreuzer dc29559c25 [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
2011-02-19 21:56:43 +00:00
Timo Kreuzer ea5522e1d8 [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
2011-02-19 21:50:11 +00:00
Amine Khaldi 7d2277a1ea [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
2011-02-19 21:24:47 +00:00
Sylvain Petreolle 3eb47ac17d [NTOSKRNL]
Fix typo.

svn path=/trunk/; revision=50821
2011-02-19 18:43:54 +00:00
Eric Kohl d0515abbea [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
2011-02-19 18:28:13 +00:00
Johannes Anderwald 634966f644 - 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
2011-02-19 17:00:08 +00:00
Giannis Adamopoulos 4638bf943c [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
2011-02-19 16:09:59 +00:00
Pierre Schweitzer 2352ea6662 [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
2011-02-19 13:58:55 +00:00
Giannis Adamopoulos 5d2a7901f7 [win32k]
- Revert r50121 and r50154

svn path=/trunk/; revision=50816
2011-02-19 12:22:52 +00:00