- Remove handling of IRP_MJ_CLEANUP and move the code to the DispatchClose routine
- Remove the hack (holding an extra reference and not closing the handle) which hid these bugs
- Fixes some memory and handle leaks too
svn path=/trunk/; revision=42387
- Move MCI_OPEN_DRIVER and MCI_CLOSE_DRIVER to mmddk.h as this is where they belong. Also move them out of the _WINE guard as those defines are present in the official headers.
- Add GetDriverFlags to mmsystem.h (missed this one in 41644).
- Most Wine code now compiles fine in MSVC.
- Wrap include_next in crt/float.h under a __GNUC__ guard -- not quite correct as the included float.h defines some stuff that should be in the "real" float.h.
- winnt.h: Remove duplicated LANG* defines that are already defined there and present in the official headers. Remove the _WINE guard from the rest as we may want to provide translations for those languages too.
svn path=/trunk/; revision=42386
- Rewrite the function, getting rid of alloca and unneeded code parts
- Relies on working sprintf, especially allows to detect the decimal point position independent of wanted precision
- Fixes all msvcrt printf winetests
svn path=/trunk/; revision=42383
- Implement higher precision exponent selection, checked against ecvt test cases to match wanted behavior
- msvcrt printf winetests up by ~10 because current ecvt relies on non-correct behavior
- Cleanup unneeded checks, wrong variable usages, add new header
svn path=/trunk/; revision=42382
- Don't forward RtlRandomEx to RtlRandom in ntdll -- RtlRandomEx should use a different algorithm (but is simply a copy of RtlRandom right now).
- Revert RtlUniform back to the "slow" version -- let the compiler do its job instead of obfuscating code for a miniscule speed gain.
svn path=/trunk/; revision=42378
- Treat 255.255.255.255 as an undefined address
- Choose the first interface when sending a broadcast packet (fixes failing with STATUS_NETWORK_UNREACHABLE when trying to send a broadcast packet)
- Fix a broadcast address check so 255.255.255.255 will also pass (fixes sending queued broadcast packets)
- Now a broadcast packet can be successfully sent from an interface with a valid IP address (previously they could only be sent when the interface didn't have an NCE entry)
svn path=/trunk/; revision=42375
- ReactOS-generic.rbuild: Define __STDC__ for MSVC to fix some code depending on it (not using /Za as it breaks other code)
svn path=/trunk/; revision=42369
- Check for null character pointers, apply somewhat readable formatting
- Add some useful header information
See issue #4755 for more details.
svn path=/trunk/; revision=42363
- Fix misc msvc issues in paint, setup, mmsys and mmebuddy
- Simplify the way kernel32 is built, reverting the "test" from 14241
svn path=/trunk/; revision=42362
- Change some 'suspiciously looking' code in bootvid.dll.
- BOOTCHAR_HEIGHT: a new macro to use instead of a plain integer.
- CHAR_GEN_UPSIDE_DOWN: define it for upside down font data.
svn path=/trunk/; revision=42350
- ddraw.h: Don't check if WINNT is defined, our winnt.h defines _WINNT_H. Also fix the way CO_E_NOTINITIALIZED is defined.
- Define NT_BUILD_ENVIRONMENT in win32k so the define in ddraw.h doesn't conflict with winerror.h. Not sure if this is correct, but our headers are a mess.
- Add a hack to disable C4276 (caused by napi.h) until a more proper fix is devised.
- Win32K now fully compiles in MSVC.
svn path=/trunk/; revision=42346
- Fix lots of COM object leaks
- IPortWaveCyclic & IPortTopology drivers now shutdown cleanly
- Implement freeing of all registered physical connections and release of the registered power management interface
[SYSAUDIO]
- Close handles to audio filters
svn path=/trunk/; revision=42344
- ntifs.h & cmdata.h : Don't use array size of 0. Fixes C4200.
- wdm.h: Correct definition of 64-bit SLIST_HEADER. Add explicit casts to avoid /W4 warnings in RtlEnlargedUnsignedDivide.
- winddk.h: Add MSVC intrinsic __readfsbyte for KeGetCurrentProcessorNumber. Misc fixes.
- Fix various msvc issues in cmd, setupapi, usetup, win32csr, winlogon, msafd, ws2_32 and ext2lib, most notably:
- cmd & doskey: Don't use fishy gcc extension to allocate variable-sized arrays from the stack. Use the heap instead.
- Disable warning C4733 for mingw_main too (was only done for mingw_wmain previously).
- advapi32: Pass the correct handles to TRACE -- spotted by MSVC.
- Set the specified register in ecx in MSVC versions of Ke386Wrmsr and Ke386Rdmsr instead of reading from/writing to a random MSR. Yay /W4.
svn path=/trunk/; revision=42342
- Replace old headers with new ones, programmers added according to svn blame info
- Apply consistent 2pt indentation because of the many indentation levels in this code; getting rid of a tab and 2/3/4pt mixture
- Rename universal StretchBlt file to reflect content
svn path=/trunk/; revision=42339
- Acquire Spinlock at dpc level
- Release cancel spinlock at correct level
[PORTCLS]
- Check if current partially processed irp has been cancelled and complete it in that case
- Silence debug flood
svn path=/trunk/; revision=42335
- Implement KsQueryInformationFile
- Properly implement KsStreamIo
- Fix a desastreous bug in KsRemoveIrpFromCancelableQueue
- Implement KsMoveIrpsOnCancelableQueue
[PORTCLS]
- Switch portcls to use the provided ks irp queue function instead of the homegrown IRP_MAPPING routines. Irp queueing is now faster and consumes less memory
- Return an allocated silence buffer when there are no mappings available
- HACK-Remove: Don't pre-complete any audio buffers now anymore. If you experience audio stuttering, let me know
[SYSAUDIO, PORTCLS, KMIXER]
- FastRead / FastWrite routines must store their return values in the status block as KsStreamIo now checks these
svn path=/trunk/; revision=42334
Tests for gdi, written in winetest style so it can be easily plugged into sysreg. Currently containing some xlate tests. More to come.
svn path=/trunk/; revision=42328