Difference between revisions of "ChangeLog-0.3.14"

From ReactOS Wiki
Jump to: navigation, search
Line 29: Line 29:
 
=== Patch Submitters ===
 
=== Patch Submitters ===
 
* Adam Kachwalla
 
* Adam Kachwalla
 +
* Mario Kacmar
 
* Nathan Lineback
 
* Nathan Lineback
 
* Nikolay Myltsev
 
* Nikolay Myltsev
Line 189: Line 190:
 
==== VGAMP ====
 
==== VGAMP ====
 
* Mode index 12 and video mode 12h are no longer confused, permitting ReactOS to boot once more when VGA mode is selected.
 
* Mode index 12 and video mode 12h are no longer confused, permitting ReactOS to boot once more when VGA mode is selected.
 +
 +
== Libraries ==
 +
=== NTDLL ===
 +
A new loader has been implemented, which respects more complex loader options and is better able to resolve dependency issues between various DLLs.
 +
* Security cookie initialization now correctly creates a 16bit cookie when asked, instead of always creating a 32bit cookie.
 +
* Thread Local Storage initialization has been fixed.
 +
* SEH has been applied to more parts of the new loader to protect against errors.
 +
* DLL loading has been improved, including optimizing checks for known DLLs.
  
 
== Bootloader (FreeLoader) ==
 
== Bootloader (FreeLoader) ==
Line 211: Line 220:
 
== Kernel and Executive (NTOSKRNL) ==
 
== Kernel and Executive (NTOSKRNL) ==
  
== NT System Library (NTDLL) ==
 
* [NTDLL/LDR] Improve LdrpCheckForKnownDll by adding parameters validation, return status value, better failure paths handling. ([[Aleksey Bragin]])
 
* [NTDLL] Do not map already mapped section. ([[Dmitry Gorbachev]])
 
* [NTDLL/LDR] Fix incorrect DLL notify flag check. Spotted by Amine. ([[Aleksey Bragin]])
 
* [LDR] Implement proper security cookie initialization code (same algorithm as in sdk/crt, however using as much data directly available as possible). Don't initialize security cookie as a 32bit value when 16bit security cookie was requested. This fixes msi-related crashes (or any other executables which has 16bit security cookie set). See issue #6341 for more details. ([[Aleksey Bragin]])
 
* [NTDLL] Remove useless code. Spotted by Pierre. ([[Aleksey Bragin]])
 
* [NTDLL] Fix broken if condition ([[Pierre Schweitzer]])
 
* [NTDLL/LDR] Properly wrap potentially unsafe buffer usage into SEH. Spotted by Pierre. ([[Aleksey Bragin]])
 
* [NTDLL] Fix CsrProbeForRead and CsrProbeForWrite to actually access the memory, by using volatile. The compiler optimized the access away previously. ([[Timo Kreuzer]])
 
* [NTDLL/LDR] Fix wrong loop condition which would often lead to heap underread. Fix wrong subkey string length calculation, which would result in an incorrect string being used to open an image specific key. Don't close the key handle in LdrQueryImageFileKeyOption() because it's used more than once and closed after it's not needed anymore. Use Zw* functions instead of Nt* where necessary in LdrQueryImageFileKeyOption(). Per-image execution options work now (e.g. enabling DPH). ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Fix a thinko. ([[Amine Khaldi]])
 
* Implement missing parts of "application verifier" initialization which boils down to just enabling DPH either globally or per-DLL. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Fix acquiring image path from process parameters block (the if condition was inverted so that normalization didn't occur when it should). Reenable the image options initialization code. ([[Aleksey Bragin]])
 
* Unbreak trunk for now. Proper fix will come shortly. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Initialize image-specific options. Close options key if it was opened in LdrpInitializeProcess(). ([[Aleksey Bragin]])
 
* [NTDLL] fix the fix : export RtlAcquirePrivilege. Also export RtlInterlockedCompareExchange64, it's needed by kernel32 ([[Jérôme Gardou]])
 
* [NTDLL] remove duplicate declaration of RtlAdjustPrivilege ([[Jérôme Gardou]])
 
* [NTDLL]: Export RtlAcquire/ReleasePrivilege. ([[Alex Ionescu]])
 
* [NTDLL]: Export RtlActivateActivationContextEx. ([[Alex Ionescu]])
 
* [CMAKE] Generate a checksum for ntdll with MSVC ([[Timo Kreuzer]])
 
* [NTDLL/LDR] Hey Arch, stop corrupting the stack! ([[Timo Kreuzer]])
 
* [NTDLL] Merge LdrpResolveFullName and LdrpSearchPath and LdrpAllocateUnicodeString from the LDR Rewrite branch. Not actually used yet since they use Rtl APIs that ReactOS does not implement. Guess what the next commits are going to be about. ([[Alex Ionescu]])
 
* [NTDLL]: Cleanup and half-fix LdrpCheckForLoadedDll, including adding comments for where it's broken. This uses RtlImageNtHeaderEx with much stringent checks as well. ([[Alex Ionescu]])
 
* [NTDLL] add some stubs for amd64 ([[Timo Kreuzer]])
 
* [NTDLL] Fix memory corruption by reverting part of r52603 ([[Cameron Gutman]])
 
* [NTDLL/LDR] - Fix one more USHORT and -1 comparison. Patch by Thomas Faber ([[Rafał Harabień]])
 
* [NTDLL]: Fix parsing and buffer overflow in LdrpLoadDll. Add more debug prints, and add some missing code (commented out) for later. ([[Alex Ionescu]])
 
* [NTDLL/LDR] Fix CMake build Minor improvements Path by Thomas Faber ([[Rafał Harabień]])
 
* [NTDLL]: Actually delete the file. ([[Alex Ionescu]])
 
* [NTDLL]: More fixes to the PE parsing code. [NTDLL]: Move and fix LdrUnloadDll to ldrapi.c [NTDLL]: Remove yet another cruft file. ([[Alex Ionescu]])
 
* [NTDLL/LDR] Don't use -1 for USHORT LDR_DATA_TABLE_ENTRY::LoadCount. When comparing ((USHORT)-1) == 0xFFFF vs (int)-1 it ends in comparison 0xFFFF vs 0xFFFFFFFF with is wrong. Fixes shutdown from shell See issue #6345 for more details. ([[Rafał Harabień]])
 
* [NTDLL]: More attempts at fixing up the loader, this time in the PE side of things. ([[Alex Ionescu]])
 
* [NTDLL/LDR] Fix CMake build Don't override failure status in LdrGetDllHandleEx Minor improvements Fixes loading of mshtml.tlb in 2nd stage. Patch by Thomas Faber ([[Rafał Harabień]])
 
* [NTDLL]: Fix busted up LdrpCreateDllSection function, checking for the wrong things completely for Safer support, and also messing up the failure/success paths. Based on a find by arty. ([[Alex Ionescu]])
 
* [NTDLL]: Reimplemnt LdrDisableThreadCalloutsForDll using new loader APIS. [NTDLL]: Fix LdrpInitializeProcess to use new loader relocation API instead of LdrRelocateImage. Warn if an EXE gets relocated since this was never supported in ReactOS. [NTDLL]: Move APIs into ldrapi.c and delete 3 leftover cruft files. This is the extent of my review for the moment. There are still many problems with the loader. It should've been tested/put in a branch. I found these 25 bugs in less than a day. Other problems remaining are missing SEH around loader lock, not too sure if the cookie generation is correct, cookies are ULONG_PTR not ULONGs, and haven't checked the PE loading code yet (only reviewed ldrapi.c). ([[Alex Ionescu]])
 
* [NTDLL]: Some more misc. cleanups and extra output. ([[Alex Ionescu]])
 
* [NTDLL]: LdrFindEntryForAddress should cehck EntryInProgress first. Also add missing dprint. [NTDLL]: LdrVerifyImageMatchesCheckSum does not actually do the check if the FileHandle is ORed with 1 (this is an optimization for KnownDLLs). Also, use EndOfFile.LowPart for the checksum, not ViewSize. [NTDLL]: LdrpGetProcedureAddress: fix overflows, incorrect constants, incorrect memcopy call, and only run init routines if the thunk was actually snapped. ([[Alex Ionescu]])
 
* [NTDLL/LDR] Comment out the actctx redirection check because it's placed wrongly. This should fix cases when a DLL is being loaded twice or more times for the same process. Spotted by Rafal Harabien. ([[Aleksey Bragin]])
 
* [NTDLL]: Simplify LdrLockLoaderLock, fix its prototype, add an ASSERT, move cookie generation into its own inline. ([[Alex Ionescu]])
 
* [NTDLL/LDR] Use \\KnownDlls\\KnownDllPath instead of \\KnownDlls\\KnownDlls to check known dlls patch (spotted by Thomas Faber) Assume known dlls are in system32 if \\KnownDlls exists but KnownDllPath not ([[Rafał Harabień]])
 
* [LDR] In case of unrecoverable failure, always exit ([[Hervé Poussineau]])
 
* [LDR] Assume that lock is held only if lock method succeeded ([[Hervé Poussineau]])
 
* [LDR] "Just to be sure" is no reason to overwrite a potential DLL load failure status ([[Cameron Gutman]])
 
* [LDR] Don't overwrite the real unload status with the return value of RtlLeaveCriticalSection ([[Cameron Gutman]])
 
* [LDR] Fix some mis-assignations Brought to you by WinOCM See issue #6353 for more details. ([[Hervé Poussineau]])
 
* [NTDLL] Result of LdrQueryImageFileExecutionOptions() shouldn't be used as a return status. Always reset it to STATUS_SUCCESS whatever the function returns. See bug #6231 for more details. ([[Aleksey Bragin]])
 
* [NTDLL] Fix a typo which led to incorrect logic of TLS allocation. This repairs those installers broken by r51051. See issue #6009 for more details. ([[Aleksey Bragin]])
 
* [NTDLL] Implement LdrEnumerateLoadedModules(). ([[Aleksey Bragin]])
 
* [NTDLL] Add RtlDosApplyFileIsolationRedirection_Ustr() stub. ([[Aleksey Bragin]])
 
* [NTDLL] Fix "entry point not found" harderror parameters. Patch by Thomas Faber See issue #5983 for more details. ([[Olaf Siejka]])
 
* [NTDLL/LDR] Fix a few bugs (wrong variable usage, wrong variable initialization) which led to incorrect snapping of import address table. Wrap LdrpSnapThunk() invocations into SEH. ([[Aleksey Bragin]])
 
* [NTDLL] Implement LdrpInitializeProcess(). Currently unused. Add a whole bunch of supportive PE related code. Used only by the new code, which is not enabled yet in trunk. Implement LdrpCheckForLoadedDll(). Move on to usage of various global vars defined in the new code, rename some of them to match. Almost no changes for the codepath in trunk. ([[Aleksey Bragin]])
 
* [NTDLL] Fixed build ([[Pierre Schweitzer]])
 
* [NTDLL/LDR] Implement misc utility functions needed for monstrous LdrpInitializeProcess(). Currently unused. ([[Aleksey Bragin]])
 
* [NTDLL] Rewrite the very first initialization routine: LdrpInit(). Rename LdrpInit2() to LdrpInitializeProcess(), and LdrpAttachThread() to LdrpInitializeThread(). Still old code there. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Use LdrpRunInitializeRoutines() instead of the old LdrpAttachThread(). This adds calls to unimplemented context functions, but since they were not called at all by the old code it shouldn't change the behaviour significantly. Besides of that, it's start of significant changes in the "mainstream" codepaths, so regressions might occur. ([[Aleksey Bragin]])
 
* [NTDLL] Implement fetching address of a security cookie in an image. Still not used even if it's present there. Silence some debug prints. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Fix a typo in LdrQueryProcessModuleInformationEx(). Stub LdrpEnsureLoaderLockIsHeld() for now. Improve LdrpRunInitializeRoutines() and enable it (just compiling, it's not in the running path of the code yet). Fix an uninit var warning in ldrpe.c Implement LdrpClearLoadInProgress(). Rename "ExeModule" to a more consistent LdrpImageEntry. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Rewrite LdrQueryProcessModuleInformation. Start committing PE loader related code (quite a lot of it, and still not all parts yet), unused right now so won't break anything. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Rewrite LdrImageMatchesChecksum, remove now outdated LdrpCheckImageChecksum. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Rewrite loader lock APIs. Now they support proper flags, return correct error codes and generate/check a cookie. ([[Aleksey Bragin]])
 
* [NTDLL/LDR] Rewrite TLS part of the ntdll loader. Old TLS-related messy, duplicated and hard to maintain code is gone. Disclaimer: All new ldr-rewrite code is almost entirely based on Alex's patch made in 2006, with my improvements, bugfixes and adapting existing codepaths. File naming convention: Files of the ldr*.c mask are considered as a new rewritten loader code. All other files in ntdll/ldr directory are old code which soon may be deprecated. ([[Aleksey Bragin]])
 
 
=== Keyboard Layouts ===
 
=== Keyboard Layouts ===
 
* [KBDPL] - Properly implement Polish (214) keyboard layout [KBDPL1] - Minor fixes ([[Rafał Harabień]])
 
* [KBDPL] - Properly implement Polish (214) keyboard layout [KBDPL1] - Minor fixes ([[Rafał Harabień]])
Line 315: Line 262:
 
* [CSRSRV]: Try to see why it appears some processes don't have a handle in their CSR_PROCESS_DATA.... ([[Alex Ionescu]])
 
* [CSRSRV]: Try to see why it appears some processes don't have a handle in their CSR_PROCESS_DATA.... ([[Alex Ionescu]])
 
* [CSRSRV] don't hack the dll entry point name. Patch by Thomas Faber ([[Olaf Siejka]])
 
* [CSRSRV] don't hack the dll entry point name. Patch by Thomas Faber ([[Olaf Siejka]])
* [CMAKE] relink win32csr with msvcrt, it's a win32dll ([[Jérôme Gardou]])
 
 
* [CSRSRV]: Initialize CSR_CONNECTION_INFO in CsrpHandleConnectionRequest. Should fix the fact CsrProcessId was bogus before, as were the CSR PEB fields. ([[Alex Ionescu]])
 
* [CSRSRV]: Initialize CSR_CONNECTION_INFO in CsrpHandleConnectionRequest. Should fix the fact CsrProcessId was bogus before, as were the CSR PEB fields. ([[Alex Ionescu]])
* [CMAKE] win32csr doesn't need to be linked to msvcrt ([[Jérôme Gardou]])
 
 
* [WIN32CSR] Fix CSR hard error messages. Parameters are now converted to ANSI string which are expected by message format string. ([[Rafał Harabień]])
 
* [WIN32CSR] Fix CSR hard error messages. Parameters are now converted to ANSI string which are expected by message format string. ([[Rafał Harabień]])
 
* [Win32csr] Hack fix to allow Alt-Tab/Esc to be supported. More investigation is required, see bug 6198. ([[James Tabor]])
 
* [Win32csr] Hack fix to allow Alt-Tab/Esc to be supported. More investigation is required, see bug 6198. ([[James Tabor]])
Line 440: Line 385:
 
* [WIN32K] Fix memory leak ([[Rafał Harabień]])
 
* [WIN32K] Fix memory leak ([[Rafał Harabień]])
 
* [WIN32K] Add some more debug output in case of a failed ASSERT ([[Timo Kreuzer]])
 
* [WIN32K] Add some more debug output in case of a failed ASSERT ([[Timo Kreuzer]])
* [CMAKE] sys-stubs.S depends now on w32ksvc.h. Unfortunately CMake isn't smart enough to find it automatically ([[Rafał Harabień]])
 
 
* No need to do extra work when the process starts. ([[James Tabor]])
 
* No need to do extra work when the process starts. ([[James Tabor]])
 
* [WIN32K] Add a comment about alignment for GreCreateBitmap Make bits really 32bit aligned Remove unused variable ([[Timo Kreuzer]])
 
* [WIN32K] Add a comment about alignment for GreCreateBitmap Make bits really 32bit aligned Remove unused variable ([[Timo Kreuzer]])
Line 538: Line 482:
 
* [INETCPL] Add Polish language to build. Spotted by Adam Stachowicz ([[Rafał Harabień]])
 
* [INETCPL] Add Polish language to build. Spotted by Adam Stachowicz ([[Rafał Harabień]])
 
* Converting POLISH localisation strings to UTF-8. Part 4/5: dll/cpl converted Tested on rbuild/cmake ([[Olaf Siejka]])
 
* Converting POLISH localisation strings to UTF-8. Part 4/5: dll/cpl converted Tested on rbuild/cmake ([[Olaf Siejka]])
* [CMAKE] Add inetcpl to build. ([[Amine Khaldi]])
 
 
* [input] Fix an Italian typo spotted by r3ddr4g0n ([[Gabriel Ilardi]])
 
* [input] Fix an Italian typo spotted by r3ddr4g0n ([[Gabriel Ilardi]])
 
* [USRMGR] Free buffer instead of freeing pointer to buffer ([[Rafał Harabień]])
 
* [USRMGR] Free buffer instead of freeing pointer to buffer ([[Rafał Harabień]])
Line 603: Line 546:
 
* [TRANSLATION] Remove simplified chinese translation patch from previous commit. It didn't apply correctly; ([[Olaf Siejka]])
 
* [TRANSLATION] Remove simplified chinese translation patch from previous commit. It didn't apply correctly; ([[Olaf Siejka]])
 
* [TRANSLATION] Fix translation crediting by Elton Chung; Solitaire and Spider swedish translation by Ronny Svensson; Multiple applications translated to simplified chinese by Song Fuchang; ([[Olaf Siejka]])
 
* [TRANSLATION] Fix translation crediting by Elton Chung; Solitaire and Spider swedish translation by Ronny Svensson; Multiple applications translated to simplified chinese by Song Fuchang; ([[Olaf Siejka]])
* [CMAKE] Add rapps, ftp and dwnl to msvc build. ([[Amine Khaldi]])
 
 
* [MSPAINT] Select selection tool after pasting from clipboard ([[Rafał Harabień]])
 
* [MSPAINT] Select selection tool after pasting from clipboard ([[Rafał Harabień]])
 
* [MSPAINT] Fix MSVC warnings ([[Rafał Harabień]])
 
* [MSPAINT] Fix MSVC warnings ([[Rafał Harabień]])
 
* [DOSKEY] Fix copy paste bug. Patch by r3ddr4g0n ([[Timo Kreuzer]])
 
* [DOSKEY] Fix copy paste bug. Patch by r3ddr4g0n ([[Timo Kreuzer]])
* [CMAKE] Skip dxdiag in msvc builds. ([[Amine Khaldi]])
 
 
* use application specific icon for small AND large icon instead of predefined one (otherwise alt-tab shows default icon) ([[Matthias Kupfer]])
 
* use application specific icon for small AND large icon instead of predefined one (otherwise alt-tab shows default icon) ([[Matthias Kupfer]])
 
* [MSVC] Final fix for MSVC build of base\application resources ([[Olaf Siejka]])
 
* [MSVC] Final fix for MSVC build of base\application resources ([[Olaf Siejka]])
Line 613: Line 554:
 
* Converting POLISH localisation strings to UTF-8. Part 1/x - base/applications. pl-PL.rc conversion; add PRAGMA, required by MSVC to rsrc/modulename/resource.rc, instead of individual localisation files. Localisation files already converted to UTF-8 will be placed at the end, after PRAGMA. Tested on rbuild/cmake/nmake ([[Olaf Siejka]])
 
* Converting POLISH localisation strings to UTF-8. Part 1/x - base/applications. pl-PL.rc conversion; add PRAGMA, required by MSVC to rsrc/modulename/resource.rc, instead of individual localisation files. Localisation files already converted to UTF-8 will be placed at the end, after PRAGMA. Tested on rbuild/cmake/nmake ([[Olaf Siejka]])
 
* [msconfig/freeldr] Load freeldr.ini first chance, boot.ini on second chance Make freeldr list box scrollable Fix some FIXME's [msgconfig/system] Implement parsing and displaying system.ini contents See issue #1986 for more details. ([[Gregor Schneider]])
 
* [msconfig/freeldr] Load freeldr.ini first chance, boot.ini on second chance Make freeldr list box scrollable Fix some FIXME's [msgconfig/system] Implement parsing and displaying system.ini contents See issue #1986 for more details. ([[Gregor Schneider]])
* [CMAKE] Fix cmake build on trunk. ([[Amine Khaldi]])
 
 
* [RAPPS] Fix Swedish translation ([[Rafał Harabień]])
 
* [RAPPS] Fix Swedish translation ([[Rafał Harabień]])
 
* [RAPPS] Merge rapps changes from CMake branch ([[Rafał Harabień]])
 
* [RAPPS] Merge rapps changes from CMake branch ([[Rafał Harabień]])
Line 722: Line 662:
 
* [MSHTML][SHDOCVW] Initialize OLEINPLACEFRAMEINFO.cb for IOleInPlaceSite::GetWindowContext. Fixes explorer "Web" button assert. Already applied upstream. See issue #6011 for more details. ([[Thomas Faber]])
 
* [MSHTML][SHDOCVW] Initialize OLEINPLACEFRAMEINFO.cb for IOleInPlaceSite::GetWindowContext. Fixes explorer "Web" button assert. Already applied upstream. See issue #6011 for more details. ([[Thomas Faber]])
 
* [user32] When themes are active and the text of a window changes, we should send the WM_NCUAHDRAWCAPTION message instead of drawing the window directly ( which will result painting a classic caption on the themed window) Fixes explorer window that is repainted with a classic style when a subfolder is opened ([[Giannis Adamopoulos]])
 
* [user32] When themes are active and the text of a window changes, we should send the WM_NCUAHDRAWCAPTION message instead of drawing the window directly ( which will result painting a classic caption on the themed window) Fixes explorer window that is repainted with a classic style when a subfolder is opened ([[Giannis Adamopoulos]])
* [CMAKE] Do not exclude itss, msxml3 and qmgr from MSVC build, as they build just fine ([[Thomas Faber]])
 
 
* [TRANSLATION] serialui, setupapi, shimgvw and tapiui romanian translation, patch by Stefan Fulea; See issue #6558 for more details. ([[Olaf Siejka]])
 
* [TRANSLATION] serialui, setupapi, shimgvw and tapiui romanian translation, patch by Stefan Fulea; See issue #6558 for more details. ([[Olaf Siejka]])
 
* [MSPORTS] Implement device removal. ([[Eric Kohl]])
 
* [MSPORTS] Implement device removal. ([[Eric Kohl]])
 
* [MSPORTS] Implement ComDBResizeDatabase. ([[Eric Kohl]])
 
* [MSPORTS] Implement ComDBResizeDatabase. ([[Eric Kohl]])
* [CMAKE] get rid of set_entrypoint usage for "win32" dlls ([[Jérôme Gardou]])
 
* [CMAKE/DLLS] Set some imports as delay-loaded. ([[Amine Khaldi]])
 
 
* [UNICOWS] doesn't have an entry point ([[Jérôme Gardou]])
 
* [UNICOWS] doesn't have an entry point ([[Jérôme Gardou]])
 
* [RC files] don't declare unicode strings, newer wrc doesn't like it, and it's (hopefully) useless. ([[Jérôme Gardou]])
 
* [RC files] don't declare unicode strings, newer wrc doesn't like it, and it's (hopefully) useless. ([[Jérôme Gardou]])
 
* Remove shell32_new, the real one is in the branch ([[Ged Murphy]])
 
* Remove shell32_new, the real one is in the branch ([[Ged Murphy]])
* [CMAKE] uext2, ufat and untfs are native dlls ([[Jérôme Gardou]])
 
* [CMAKE] ufat, ufatx, uext2 and untfs don't really need to link to kernel32 and msvcrt. ([[Jérôme Gardou]])
 
* [CMAKE] Add msvcrt20 and msvcrt40 to build ([[Timo Kreuzer]])
 
* [CMAKE] Add hlink and msi importlib to MSVC build ([[Timo Kreuzer]])
 
* [CMAKE] Add shdocvw to msvc build. ([[Amine Khaldi]])
 
* [CMAKE] Add urlmon back to msvc build, but not into bootcd. Add back cryptui, oleaut32 and shlwapi as a result. ([[Amine Khaldi]])
 
 
* [MSI/URLMON] Guard wine attributes against widl. ([[Amine Khaldi]])
 
* [MSI/URLMON] Guard wine attributes against widl. ([[Amine Khaldi]])
 
* [UNICOWS] Link to msvcrt for proper crt imports. Fix msvc build. ([[Amine Khaldi]])
 
* [UNICOWS] Link to msvcrt for proper crt imports. Fix msvc build. ([[Amine Khaldi]])
Line 940: Line 871:
 
* NO CODE CHANGE [KERNEL32]: Reorganize the source tree into a "client" section (The Win32 API proper and its wrapping of the NT base system -- unsynchable with Wine until they have a proper NtDll and choose to use our code) and a "winnls" section (string/language/etc stuff easily synchable with Wine). [KERNEL32]: Note: this is not perfect yet, but a step in the right direction. ([[Alex Ionescu]])
 
* NO CODE CHANGE [KERNEL32]: Reorganize the source tree into a "client" section (The Win32 API proper and its wrapping of the NT base system -- unsynchable with Wine until they have a proper NtDll and choose to use our code) and a "winnls" section (string/language/etc stuff easily synchable with Wine). [KERNEL32]: Note: this is not perfect yet, but a step in the right direction. ([[Alex Ionescu]])
 
* NO CODE CHANGES. [KERNEL32]: Reorganize certain functions in different files, and move files into more appropriate locations. Will lead to a simplification of the directory structure. ([[Alex Ionescu]])
 
* NO CODE CHANGES. [KERNEL32]: Reorganize certain functions in different files, and move files into more appropriate locations. Will lead to a simplification of the directory structure. ([[Alex Ionescu]])
* [KERNEL32] Merge 49379 from the cmake branch. Fixes msvc build. ([[Amine Khaldi]])
 
* [KERNEL32] Revert 51485. It needs more work. ([[Rafał Harabień]])
 
 
* [KERNEL32] Initialize ViewSize to 0 when mapping view of section. Fixes DLLs registration problems in 2nd stage (happening all the time with the ldr rewrite). ([[Aleksey Bragin]])
 
* [KERNEL32] Initialize ViewSize to 0 when mapping view of section. Fixes DLLs registration problems in 2nd stage (happening all the time with the ldr rewrite). ([[Aleksey Bragin]])
 
* [KERNEL32] Fix formatting. No code changes. ([[Rafał Harabień]])
 
* [KERNEL32] Fix formatting. No code changes. ([[Rafał Harabień]])
Line 979: Line 908:
 
=== MSGINA ===
 
=== MSGINA ===
 
* [MSGINA] Call NotifyBootConfigStatus after a user has been logged-on successfully. Implement WlxIsLogoffOk. ([[Eric Kohl]])
 
* [MSGINA] Call NotifyBootConfigStatus after a user has been logged-on successfully. Implement WlxIsLogoffOk. ([[Eric Kohl]])
=== MSHTML ===
 
* [mshtml] Revert associations for ie, we can't use them. Spotted by encoded. See issue #6158 for more details. ([[Gabriel Ilardi]])
 
=== MSHTML.TLB ===
 
* [CMAKE] Fix mshtml.tlb build with Visual Studio. With mshtml_tlb and mshtml.tlb targets, the solution contained 2 mshtml_tlb targets. ([[Sylvain Petreolle]])
 
 
=== MSI ===
 
=== MSI ===
 
* [msi] Add post 51711 msi_ros.diff ([[Gabriel Ilardi]])
 
* [msi] Add post 51711 msi_ros.diff ([[Gabriel Ilardi]])
* [MSI] Merge r50719 from cmake branch: Fix reource files (strings must be in one line) ([[Timo Kreuzer]])
 
 
* [msi] partial sync to wine 1.3.16 ([[Christoph von Wittich]])
 
* [msi] partial sync to wine 1.3.16 ([[Christoph von Wittich]])
 
=== MSVCRT ===
 
=== MSVCRT ===
Line 993: Line 917:
 
* [MSVCRT] Fix usage of set_entrypoint ([[Timo Kreuzer]])
 
* [MSVCRT] Fix usage of set_entrypoint ([[Timo Kreuzer]])
 
* [MSVCRT] being a stub doesn't allow you to be uninitialized ([[Jérôme Gardou]])
 
* [MSVCRT] being a stub doesn't allow you to be uninitialized ([[Jérôme Gardou]])
* [CMAKE] no need to link msvcrt with pseh on msvc builds ([[Jérôme Gardou]])
 
 
* [MSVCRT] more fixes to spec file ([[Jérôme Gardou]])
 
* [MSVCRT] more fixes to spec file ([[Jérôme Gardou]])
 
* [MSVCRT] export bessel's functions misc fixes to spec file ([[Jérôme Gardou]])
 
* [MSVCRT] export bessel's functions misc fixes to spec file ([[Jérôme Gardou]])
Line 1,029: Line 952:
 
* [RPCRT4] restore lost ros specific change. Thanks Vic. ([[Jérôme Gardou]])
 
* [RPCRT4] restore lost ros specific change. Thanks Vic. ([[Jérôme Gardou]])
 
* [RPCRT4] fix msvc version of call_stubless_func ([[Jérôme Gardou]])
 
* [RPCRT4] fix msvc version of call_stubless_func ([[Jérôme Gardou]])
* [RPCRT4] Hack cmake build file to get wininet.dll delay importing. msvc build reactos now gets as far as showing 2nd stage setup wizard. Mouse/keyboard don't respond yet. ([[Jérôme Gardou]])
 
 
* [RPCRT4] sync with wine 1.3.26 MAny thanks to Filip Navara for his invaluable help. ([[Jérôme Gardou]])
 
* [RPCRT4] sync with wine 1.3.26 MAny thanks to Filip Navara for his invaluable help. ([[Jérôme Gardou]])
 
* [RPCRT4] Fix MSVC version of call_server_func ([[Timo Kreuzer]])
 
* [RPCRT4] Fix MSVC version of call_server_func ([[Timo Kreuzer]])
Line 1,240: Line 1,162:
 
* [BOOTDATA] Remove class2 and scsiport service keys from the registry because these drivers are loaded automatically when they are needed. ([[Eric Kohl]])
 
* [BOOTDATA] Remove class2 and scsiport service keys from the registry because these drivers are loaded automatically when they are needed. ([[Eric Kohl]])
 
* debug code for bug 6663 ([[Johannes Anderwald]])
 
* debug code for bug 6663 ([[Johannes Anderwald]])
* [libwine] add register.c to CMakeLists.txt as well ([[Christoph von Wittich]])
 
 
* [libwine] add wine dll registration functions to libwine (taken from winecrt0) TODO: support for linking multiple res files rbuild/cmake: generating .rgs files from typelibs ([[Christoph von Wittich]])
 
* [libwine] add wine dll registration functions to libwine (taken from winecrt0) TODO: support for linking multiple res files rbuild/cmake: generating .rgs files from typelibs ([[Christoph von Wittich]])
 
* Fix  typo. ([[Sylvain Petreolle]])
 
* Fix  typo. ([[Sylvain Petreolle]])
Line 1,256: Line 1,177:
 
* [MKSHELLLINK] - Don't use stricmp. It's not a standard function. ([[Rafał Harabień]])
 
* [MKSHELLLINK] - Don't use stricmp. It's not a standard function. ([[Rafał Harabień]])
 
* [MKSHELLLINK] - Don't use windows.h in host tool ([[Rafał Harabień]])
 
* [MKSHELLLINK] - Don't use windows.h in host tool ([[Rafał Harabień]])
* [CMAKE] - Add shortcuts to CMake livecd. All .lnk files in Windows has structure called "id list". This is something like a path (we can't use environment variables there) and it is relative to Desktop. Usually first element is My Computer folder. In our shortcuts it points to livecd_start.cmd in My Documents folder, which is simple batch file. It's functionality is to start application given in argument. Because command line parameter of shell links can have environment variables, our shortcuts does not depend on patch to system directory (especially the drive number). It's a bit complicated but I have not found a better way. Now we have working shortcuts on Desktop and Start Menu. Control Panel will benefit in future because Admin Tools depend on Start Menu. ([[Rafał Harabień]])
 
* [CMAKE] - Add support for creating lnk files ([[Rafał Harabień]])
 
 
* [MKSHELLLINK] Add host tool for creating .lnk files ([[Rafał Harabień]])
 
* [MKSHELLLINK] Add host tool for creating .lnk files ([[Rafał Harabień]])
 
* Add window placement flag for async message mode. Yes we support this too now. ([[James Tabor]])
 
* Add window placement flag for async message mode. Yes we support this too now. ([[James Tabor]])
Line 1,355: Line 1,274:
 
* [TRANSLATION] SysSetup: add a very tiny enhancement to Spanish translation (Elhoir, bug #6596). USetup: change encoding of Brazilian Portuguese file to CP 850. USetup: fix a few bugs in German and Italian translations. ([[Dmitry Gorbachev]])
 
* [TRANSLATION] SysSetup: add a very tiny enhancement to Spanish translation (Elhoir, bug #6596). USetup: change encoding of Brazilian Portuguese file to CP 850. USetup: fix a few bugs in German and Italian translations. ([[Dmitry Gorbachev]])
 
* [LIVECD] Fix profiles path. FIXES ICONS IN LIVECD! Add few interfaces to livecd registry so it doesn't spam the log so much ([[Rafał Harabień]])
 
* [LIVECD] Fix profiles path. FIXES ICONS IN LIVECD! Add few interfaces to livecd registry so it doesn't spam the log so much ([[Rafał Harabień]])
* [CMAKE] Don't even create the stlport static lib. No working C++ module links to it, and until we have a proper STL support the other modules won't compile either. ([[Amine Khaldi]])
 
* [CMAKE] Add VC11 support in configure.cmd ([[Thomas Faber]])
 
 
* [WINLOGON] If no keyboard layout can be loaded, load US layout Try to load all layouts from Preloaded key even if some of them fail ([[Rafał Harabień]])
 
* [WINLOGON] If no keyboard layout can be loaded, load US layout Try to load all layouts from Preloaded key even if some of them fail ([[Rafał Harabień]])
 
* Add Polish keyboard layout (there was only "Polish programmer" layout). It should fix installing ROS in Polish. ([[Rafał Harabień]])
 
* Add Polish keyboard layout (there was only "Polish programmer" layout). It should fix installing ROS in Polish. ([[Rafał Harabień]])
Line 1,392: Line 1,309:
 
* [RTL] Rewrite RtlFindCharInUnicodeString. Fixes timeout in ntdll:rtlstr test. ([[Thomas Faber]])
 
* [RTL] Rewrite RtlFindCharInUnicodeString. Fixes timeout in ntdll:rtlstr test. ([[Thomas Faber]])
 
* [STLPORT] Do not define min() or max() when standard headers are included. Should fix MSVC build ([[Thomas Faber]])
 
* [STLPORT] Do not define min() or max() when standard headers are included. Should fix MSVC build ([[Thomas Faber]])
* [CMAKE] Fix a typo. ([[Amine Khaldi]])
 
 
* [CMAKE] Use the gcc toolchain-provided STL. Use STLport only on MSVC builds. [KSPROXY] Set imagebase, properly set its entry point, use set_cpp() instead of hardcoded definition/includes and add no exceptions/rtti gcc flags. [GLU32] Use set_cpp() instead of the hardcoded target_link_libraries(). [PORTCLS] Use set_module_type() with proper entry point, instead of expanded macro calls, and get rid of hardcoded target_link_libraries(). Commit Dedicated to Olaf Siejka (Caemyr). ([[Amine Khaldi]])
 
* [CMAKE] Use the gcc toolchain-provided STL. Use STLport only on MSVC builds. [KSPROXY] Set imagebase, properly set its entry point, use set_cpp() instead of hardcoded definition/includes and add no exceptions/rtti gcc flags. [GLU32] Use set_cpp() instead of the hardcoded target_link_libraries(). [PORTCLS] Use set_module_type() with proper entry point, instead of expanded macro calls, and get rid of hardcoded target_link_libraries(). Commit Dedicated to Olaf Siejka (Caemyr). ([[Amine Khaldi]])
 
* [NDIS] Fix NdisMWanIndicateReceiveComplete params. ([[Amine Khaldi]])
 
* [NDIS] Fix NdisMWanIndicateReceiveComplete params. ([[Amine Khaldi]])
 
* [RTL] - Make sure RtlInitUnicodeString(Ex) don't set odd length. Fixes ntdll:rtlstr winetest. ([[Rafał Harabień]])
 
* [RTL] - Make sure RtlInitUnicodeString(Ex) don't set odd length. Fixes ntdll:rtlstr winetest. ([[Rafał Harabień]])
* [CMAKE] Temporarily go back to using the ret^H^H^H previous way of using debug info. Build will, for example, be slower, take double the disk space it needs right now, but... Introduce __ROS_DWARF__ for the meaning __ROS_CMAKE__ implied previously. ([[Amine Khaldi]])
 
 
* [RTL] Fix possible integer overflow in RtlpInitializeHeapSegment Simplify loop in RtlIsDosDeviceName_Ustr Make MonthLengths an array of UCHARs instead of ints Remove pointless loops in RtlTimeToTimeFields Fix MSVC warnings ([[Timo Kreuzer]])
 
* [RTL] Fix possible integer overflow in RtlpInitializeHeapSegment Simplify loop in RtlIsDosDeviceName_Ustr Make MonthLengths an array of UCHARs instead of ints Remove pointless loops in RtlTimeToTimeFields Fix MSVC warnings ([[Timo Kreuzer]])
 
* Add register class name proc. ([[James Tabor]])
 
* Add register class name proc. ([[James Tabor]])
 
* [SMSS] Remove a hack for MSVC. ([[Timo Kreuzer]])
 
* [SMSS] Remove a hack for MSVC. ([[Timo Kreuzer]])
 
* [NTOSKRNL] Rename KTHREAD.DispatchHeader to Header Remove KeInitializeDispatcherHeader and initialize dispatcher headers depending on object type. Fixes all ntos:KeEvent and KeTimer kmtests. ([[Rafał Harabień]])
 
* [NTOSKRNL] Rename KTHREAD.DispatchHeader to Header Remove KeInitializeDispatcherHeader and initialize dispatcher headers depending on object type. Fixes all ntos:KeEvent and KeTimer kmtests. ([[Rafał Harabień]])
* [CMAKE] Remove duplicate base address ([[Timo Kreuzer]])
 
 
* [RTL] Silence a debugprint ([[Timo Kreuzer]])
 
* [RTL] Silence a debugprint ([[Timo Kreuzer]])
 
* [Win32k] Implement get atom name for user32. ([[James Tabor]])
 
* [Win32k] Implement get atom name for user32. ([[James Tabor]])
Line 1,415: Line 1,329:
 
* Make some eol-styles consistent for .sln and .vcproj and .cmd ([[Timo Kreuzer]])
 
* Make some eol-styles consistent for .sln and .vcproj and .cmd ([[Timo Kreuzer]])
 
* Add a .hgeol file in the hope that it allows to get native line endings with hg ([[Timo Kreuzer]])
 
* Add a .hgeol file in the hope that it allows to get native line endings with hg ([[Timo Kreuzer]])
* [CMAKE/MSVC] Calculate image checksums to fix warnings in WinDbg ([[Thomas Faber]])
 
* [CMAKE] Revert r53484 since jom is still buggy (bug reported upstream, to no avail) and as a result useless for us. ([[Amine Khaldi]])
 
 
* [INFLIB] Fix memory leak ([[Pierre Schweitzer]])
 
* [INFLIB] Fix memory leak ([[Pierre Schweitzer]])
 
* [WINLOGON] Do not call HandleShutdown() with NULL Session. ([[Dmitry Gorbachev]])
 
* [WINLOGON] Do not call HandleShutdown() with NULL Session. ([[Dmitry Gorbachev]])
Line 1,422: Line 1,334:
 
* [PSDK] Missed this one. ([[Amine Khaldi]])
 
* [PSDK] Missed this one. ([[Amine Khaldi]])
 
* [PSDK] Add some missing definitions. ([[Amine Khaldi]])
 
* [PSDK] Add some missing definitions. ([[Amine Khaldi]])
* [CMAKE] Add a flag to distinguish Ansi and Unicode message tables. Keep them Ansi for now pending further testing Apply this to MSVC build as well. Fixes ntoskrnl messages incorrectly being Unicode ([[Thomas Faber]])
 
 
* Add Kazakh language to the registry. Patch by <seven_s*AT*mail*DOT*ru>. Bug #6277. ([[Dmitry Gorbachev]])
 
* Add Kazakh language to the registry. Patch by <seven_s*AT*mail*DOT*ru>. Bug #6277. ([[Dmitry Gorbachev]])
 
* [PSDK] Add some missing defines. ([[Amine Khaldi]])
 
* [PSDK] Add some missing defines. ([[Amine Khaldi]])
Line 1,432: Line 1,343:
 
* [ASM] Add data32 prefix for MSVC ([[Timo Kreuzer]])
 
* [ASM] Add data32 prefix for MSVC ([[Timo Kreuzer]])
 
* [NTOSKRNL] - Fix MSVC build [INCLUDE/C++] - Fix some typos in (obviously never used) typeinfo header [MSVCRTEX] - Use _DLL instead of _M_CEE_PURE ([[Thomas Faber]])
 
* [NTOSKRNL] - Fix MSVC build [INCLUDE/C++] - Fix some typos in (obviously never used) typeinfo header [MSVCRTEX] - Use _DLL instead of _M_CEE_PURE ([[Thomas Faber]])
* [CMAKE] Use the new macros for link flags and compile definitions some more. No semantic changes ([[Thomas Faber]])
 
 
* [LIBPNG] - Update libpng to 1.55. Patch by Elton Chung <elton328 [at] gmail [dot] com>. See issue #6524 for more details. ([[Rafał Harabień]])
 
* [LIBPNG] - Update libpng to 1.55. Patch by Elton Chung <elton328 [at] gmail [dot] com>. See issue #6524 for more details. ([[Rafał Harabień]])
 
* [HEADERS/CRT] We don't need this guard anymore. ([[Amine Khaldi]])
 
* [HEADERS/CRT] We don't need this guard anymore. ([[Amine Khaldi]])
Line 1,441: Line 1,351:
 
* [CRT] implement floor and floorf for amd64 with sse2 instructions ([[Timo Kreuzer]])
 
* [CRT] implement floor and floorf for amd64 with sse2 instructions ([[Timo Kreuzer]])
 
* [SERVICES] Minor fixes to ScmAssignNewTag Correctly handle an invalid parameter case in RCreateServiceW. Fixes second stage boot under certain circumstances. ([[Thomas Faber]])
 
* [SERVICES] Minor fixes to ScmAssignNewTag Correctly handle an invalid parameter case in RCreateServiceW. Fixes second stage boot under certain circumstances. ([[Thomas Faber]])
* [CMAKE] Don't detect the ASM compiler ID, we set it instead. ([[Amine Khaldi]])
 
* [CMAKE] Prefix with ccache only when compiling c/c++ objects. Show a note when ccache build is enabled. ([[Amine Khaldi]])
 
 
* [SERVICES] Assign a new Tag to new or changed services. Patch by Thomas Faber! See issue #6147 for more details. ([[Eric Kohl]])
 
* [SERVICES] Assign a new Tag to new or changed services. Patch by Thomas Faber! See issue #6147 for more details. ([[Eric Kohl]])
 
* [HAL] Fix a typo in HalpAllocPhysicalMemory, that caused the function to remove MADs that still had pages rather than removing those who are empty. Fixes an assertion on VMWare. Kudos go to Kamil for tracking it down. Fix another bug in HalpAllocPhysicalMemory, where the size of the newly allocated MAD was set to the alignment value instead of the original MAD, this lead to conflicting MADs and possible reuse of hal memory by the kernel. This seems to fix a bugcheck 0x19 with halacpi. ([[Timo Kreuzer]])
 
* [HAL] Fix a typo in HalpAllocPhysicalMemory, that caused the function to remove MADs that still had pages rather than removing those who are empty. Fixes an assertion on VMWare. Kudos go to Kamil for tracking it down. Fix another bug in HalpAllocPhysicalMemory, where the size of the newly allocated MAD was set to the alignment value instead of the original MAD, this lead to conflicting MADs and possible reuse of hal memory by the kernel. This seems to fix a bugcheck 0x19 with halacpi. ([[Timo Kreuzer]])
Line 1,453: Line 1,361:
 
* [BUGCODES] Add SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION definition. ([[Aleksey Bragin]])
 
* [BUGCODES] Add SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION definition. ([[Aleksey Bragin]])
 
* [SMSS] Fix wrong behavior of the "native applications startup at boot time" feature in SMSS. Modifications: Added missing buffer allocation checks. Check for presence of default path. Minor clean-ups. Fix bad indentation/coding style. Original patch by Hermès BÉLUSCA. See issue #6180 for more details. ([[Eric Kohl]])
 
* [SMSS] Fix wrong behavior of the "native applications startup at boot time" feature in SMSS. Modifications: Added missing buffer allocation checks. Check for presence of default path. Minor clean-ups. Fix bad indentation/coding style. Original patch by Hermès BÉLUSCA. See issue #6180 for more details. ([[Eric Kohl]])
* another try to fix cmake build ([[Kamil Hornicek]])
 
 
* [HAL] Report table lookup failures Report supported ACPI version ([[Cameron Gutman]])
 
* [HAL] Report table lookup failures Report supported ACPI version ([[Cameron Gutman]])
 
* [undocuser.h] Add a definition for TrackMouseEvent timer ([[Giannis Adamopoulos]])
 
* [undocuser.h] Add a definition for TrackMouseEvent timer ([[Giannis Adamopoulos]])
* fix the cmake build? ([[Kamil Hornicek]])
 
 
* Add the Diskpart utility by Lee Schroeder (milawynsrealm). The following modifications were made: Removed the help texts because they were copied from Windows Diskpart. Used a single string resource per help text. Used only Unicode strings and Unicode string functions. Replaced the giant if-statement in the command dispatcher in interpreter.c by a command-table and a little loop. Improved the command-line parser. Argument count and argument vector are passed to the command and help functions for easy evaluation. Moved the help function for commands into the command specific file. TODO: Implement all commands as the utility is only an empty frame. Add help texts. Translate help texts. See issue #6402 for more details. ([[Eric Kohl]])
 
* Add the Diskpart utility by Lee Schroeder (milawynsrealm). The following modifications were made: Removed the help texts because they were copied from Windows Diskpart. Used a single string resource per help text. Used only Unicode strings and Unicode string functions. Replaced the giant if-statement in the command dispatcher in interpreter.c by a command-table and a little loop. Improved the command-line parser. Argument count and argument vector are passed to the command and help functions for easy evaluation. Moved the help function for commands into the command specific file. TODO: Implement all commands as the utility is only an empty frame. Add help texts. Translate help texts. See issue #6402 for more details. ([[Eric Kohl]])
 
* [WPP] Sync to Wine 1.3.29 to fix a warning ([[Rafał Harabień]])
 
* [WPP] Sync to Wine 1.3.29 to fix a warning ([[Rafał Harabień]])
Line 1,483: Line 1,389:
 
* Fix more unused-but-set warnings. ([[Dmitry Gorbachev]])
 
* Fix more unused-but-set warnings. ([[Dmitry Gorbachev]])
 
* add the themes service to boot cd ([[Giannis Adamopoulos]])
 
* add the themes service to boot cd ([[Giannis Adamopoulos]])
* [thmsvc] Attempt to fix cmake build ([[Giannis Adamopoulos]])
 
 
* [thmsvc] Add the themes service from the themes branch ([[Giannis Adamopoulos]])
 
* [thmsvc] Add the themes service from the themes branch ([[Giannis Adamopoulos]])
 
* [uxundoc.h] Add a couple of definitions that I forgot to add ([[Giannis Adamopoulos]])
 
* [uxundoc.h] Add a couple of definitions that I forgot to add ([[Giannis Adamopoulos]])
Line 1,497: Line 1,402:
 
* [HAL/NDK] Make Vector parameter in HalEnableSystemInterrupt, HalDisableSystemInterrupt and HalBeginSystemInterrupt an ULONG, not an UCHAR [NDK] 64bit fixes for HANDLE_TABLE, KPROCESS, SECTION_IMAGE_INFORMATION, MMADDRESS_LIST, MMVAD_FLAGS, MMVAD, MMVAD_LONG, MMVAD_SHORT, MEMORY_DESCRIPTOR, MEMORY_ALLOCATION_DESCRIPTOR, LdrVerifyMappedImageMatchesChecksum KDPC_DATA::DpcQueueDepth is signed on amd64, unsigned on x86 [NTOSKRNL] Fix hundreds of MSVC and amd64 warnings add a pragma message to FstubFixupEfiPartition, since it looks broken Move portable Ke constants from <arch>/cpu.c to krnlinit.c Fixed a bug in amd64 KiGeneralProtectionFaultHandler ([[Timo Kreuzer]])
 
* [HAL/NDK] Make Vector parameter in HalEnableSystemInterrupt, HalDisableSystemInterrupt and HalBeginSystemInterrupt an ULONG, not an UCHAR [NDK] 64bit fixes for HANDLE_TABLE, KPROCESS, SECTION_IMAGE_INFORMATION, MMADDRESS_LIST, MMVAD_FLAGS, MMVAD, MMVAD_LONG, MMVAD_SHORT, MEMORY_DESCRIPTOR, MEMORY_ALLOCATION_DESCRIPTOR, LdrVerifyMappedImageMatchesChecksum KDPC_DATA::DpcQueueDepth is signed on amd64, unsigned on x86 [NTOSKRNL] Fix hundreds of MSVC and amd64 warnings add a pragma message to FstubFixupEfiPartition, since it looks broken Move portable Ke constants from <arch>/cpu.c to krnlinit.c Fixed a bug in amd64 KiGeneralProtectionFaultHandler ([[Timo Kreuzer]])
 
* [CABMAN] Leak less resources ([[Pierre Schweitzer]])
 
* [CABMAN] Leak less resources ([[Pierre Schweitzer]])
* [CMAKE] Allow to specify prefix/suffix for GCC and Binutils. ([[Dmitry Gorbachev]])
 
 
* [RTL] Fix the overly complicated and buggy implementation of RtlIsDosDeviceName_Ustr based on the simple pre-r52687 implementation of RtlIsDosDeviceName_U. This fixes 14(!) wine tests. ([[Eric Kohl]])
 
* [RTL] Fix the overly complicated and buggy implementation of RtlIsDosDeviceName_Ustr based on the simple pre-r52687 implementation of RtlIsDosDeviceName_U. This fixes 14(!) wine tests. ([[Eric Kohl]])
 
* [RTL] RtlGenerate8dot3Name: Ignore spaces in long file names instead of converting them to underscores. See issue #6385 for more details. ([[Eric Kohl]])
 
* [RTL] RtlGenerate8dot3Name: Ignore spaces in long file names instead of converting them to underscores. See issue #6385 for more details. ([[Eric Kohl]])
Line 1,504: Line 1,408:
 
* [REACTOS] wait patiently for rbuild going to Valhalla ([[Jérôme Gardou]])
 
* [REACTOS] wait patiently for rbuild going to Valhalla ([[Jérôme Gardou]])
 
* [REACTOS] get version.h and buildno.h out of precompiled headers, to avoid rebuilding the whole module each time we reconfigure the build ([[Jérôme Gardou]])
 
* [REACTOS] get version.h and buildno.h out of precompiled headers, to avoid rebuilding the whole module each time we reconfigure the build ([[Jérôme Gardou]])
* [CMAKE] start documenting reactos specific stuff. Feel free to complete it :-) ([[Jérôme Gardou]])
 
 
* [CRT] Implement MSVC versions of call_copy_ctor, call_dtor, continue_after_catch, __CxxFrameHandler Fix amd64 versions of _control87 and _statusfp Fix MSVC and amd64 warnings ([[Timo Kreuzer]])
 
* [CRT] Implement MSVC versions of call_copy_ctor, call_dtor, continue_after_catch, __CxxFrameHandler Fix amd64 versions of _control87 and _statusfp Fix MSVC and amd64 warnings ([[Timo Kreuzer]])
 
* [HAL/APIC] Fix some stuff that gcc complains about. It doesn't like to use static data in non-static inline functions for some unknown reason. Implement support for level triggered interrupts, when using lazy irql ([[Timo Kreuzer]])
 
* [HAL/APIC] Fix some stuff that gcc complains about. It doesn't like to use static data in non-static inline functions for some unknown reason. Implement support for level triggered interrupts, when using lazy irql ([[Timo Kreuzer]])
Line 1,540: Line 1,443:
 
* [RSYM] .stab/.stabstr sections have no IMAGE_SCN_LNK_REMOVE flag now. ([[Dmitry Gorbachev]])
 
* [RSYM] .stab/.stabstr sections have no IMAGE_SCN_LNK_REMOVE flag now. ([[Dmitry Gorbachev]])
 
* [HAL] Use functions instead of macros for irq<->vector<->irql translation, this will be neccessary, once apic support is there Disable mp hal in rbuild for now, its broken anyway ([[Timo Kreuzer]])
 
* [HAL] Use functions instead of macros for irq<->vector<->irql translation, this will be neccessary, once apic support is there Disable mp hal in rbuild for now, its broken anyway ([[Timo Kreuzer]])
* [CMAKE] Don't assume CMAKE_SHARED_LIBRARY_ASM_FLAGS exists. ([[Sylvain Petreolle]])
 
* [CMAKE] Properly use add_target_compile_flags. ([[Amine Khaldi]])
 
* [CMAKE] enable -Werror by default on gcc build ([[Jérôme Gardou]])
 
 
* [SERVICES] RStartServiceA: Convert the ANSI start arguments vector to a UNICODE vector and pass it to ScmStartService. Calls to StartServiceA can now be used to pass arguments to a starting service. ([[Eric Kohl]])
 
* [SERVICES] RStartServiceA: Convert the ANSI start arguments vector to a UNICODE vector and pass it to ScmStartService. Calls to StartServiceA can now be used to pass arguments to a starting service. ([[Eric Kohl]])
 
* [PSDK] put NOGDI guard at the right place... ([[Jérôme Gardou]])
 
* [PSDK] put NOGDI guard at the right place... ([[Jérôme Gardou]])
Line 1,548: Line 1,448:
 
* [LWIP] fix warning in ros glue code ([[Jérôme Gardou]])
 
* [LWIP] fix warning in ros glue code ([[Jérôme Gardou]])
 
* [ROSSYM_NEW] fix some warnings fix function prototype. This might fix usermode stack logs ([[Jérôme Gardou]])
 
* [ROSSYM_NEW] fix some warnings fix function prototype. This might fix usermode stack logs ([[Jérôme Gardou]])
* [CMAKE] add flags to ASM as well instead of hacking the compile rule remove -fPIC flag from ASM compile flags, (it's a cmake bug) enable languages before including compiler specific files. ([[Jérôme Gardou]])
 
 
* [SERVICES/ADVAPI32] Pass the service start argument vector to the started service main function. ANSI services are not supported yet. ([[Eric Kohl]])
 
* [SERVICES/ADVAPI32] Pass the service start argument vector to the started service main function. ANSI services are not supported yet. ([[Eric Kohl]])
* [CMAKE] go RTFM, you moron ([[Jérôme Gardou]])
 
* [CMAKE] get rid of set_unicode macro. Add an option to set_module_type to do the work instead Improve debug output ([[Jérôme Gardou]])
 
* [CMAKE] Replace add_linkerflag and add_compiler_flags with their new equivalents add_target_link_flags/add_compile_flags Remove those now obsolete macros Use the new set_module_type to get rid of evil hacks for drivers without entry point (wmilib, drmk) ([[Thomas Faber]])
 
* [CMAKE] use the new options of set_module_type for a few modules ([[Jérôme Gardou]])
 
* [CMAKE] handle '0' entry point in set_module_type_function ([[Jérôme Gardou]])
 
* [CMAKE] remove add_compiler_flags_target function, Thomas was faster than me, and did something nicer ([[Jérôme Gardou]])
 
* [CMAKE] merge set_module_type function into the global CMakeMacros.cmake file, leaving compiler particular bits to set_module_type_toolchain function. Add the ENTRYPOINT and BASEADDRESS options to this function. Not used yet ([[Jérôme Gardou]])
 
* [CMAKE] Add add_target_property macro and add wrapper macros to easily set important properties This makes macros more consistent, follows CMake property names, favors per-target instead of per-directory property settings and favors adding to properties instead of replacing them Convert the global settings to use the new add_compile_flags and add_target_link_flags - no functional change Fix add_importlibs to add to compile definitions instead of replacing them Big thanks to Amine ([[Thomas Faber]])
 
* Remove unneeded ";" ([[Dmitry Chapyshev]])
 
 
* [TRANSLATION] Romanian syssetup and usetup translation by Stefan Fulea <fulea.stefan> at <gmail.com>; Fix ipconfig build under MSVC, use "" instead of \" as escape character; ([[Olaf Siejka]])
 
* [TRANSLATION] Romanian syssetup and usetup translation by Stefan Fulea <fulea.stefan> at <gmail.com>; Fix ipconfig build under MSVC, use "" instead of \" as escape character; ([[Olaf Siejka]])
 
* [HAL] Fix a dependency issue ([[Timo Kreuzer]])
 
* [HAL] Fix a dependency issue ([[Timo Kreuzer]])
Line 1,574: Line 1,464:
 
* [CMAKE] try to fix gcc build without breaking msvc ([[Jérôme Gardou]])
 
* [CMAKE] try to fix gcc build without breaking msvc ([[Jérôme Gardou]])
 
* Add msvcrt to KnownDLLs. This will enforce use of reactos msvcrt when apps provide one. Its required because cmake dlls currently depend on msvcrt for their startup code. ([[Sylvain Petreolle]])
 
* Add msvcrt to KnownDLLs. This will enforce use of reactos msvcrt when apps provide one. Its required because cmake dlls currently depend on msvcrt for their startup code. ([[Sylvain Petreolle]])
* [CMAKE/MSVC] use /h to specify header file name when producing rpc proxy file. Don't ask me why /header doesn't work, I have no idea. ([[Jérôme Gardou]])
 
 
* [NTOSKRNL] Update amd64 kd64 from ros-amd64-bringup ([[Timo Kreuzer]])
 
* [NTOSKRNL] Update amd64 kd64 from ros-amd64-bringup ([[Timo Kreuzer]])
 
* [HAL] Small cleanup and fix amd64 build (don't use the PIT) ([[Timo Kreuzer]])
 
* [HAL] Small cleanup and fix amd64 build (don't use the PIT) ([[Timo Kreuzer]])
Line 1,580: Line 1,469:
 
* [HAL] Rewrite KeQueryPerformanceCounter in C Implement support for changing the clock rate ([[Timo Kreuzer]])
 
* [HAL] Rewrite KeQueryPerformanceCounter in C Implement support for changing the clock rate ([[Timo Kreuzer]])
 
* [INTRIN] add  __nop() ([[Timo Kreuzer]])
 
* [INTRIN] add  __nop() ([[Timo Kreuzer]])
* [CMAKE] Fix the ar variable. Missed in r53488. ([[Amine Khaldi]])
 
* [CMAKE] Let cmake find mingw32-ar by itself on *nix, otherwise cmake errors out. See http://www.mail-archive.com/cmake@cmake.org/msg27491.html for details. ([[Sylvain Petreolle]])
 
 
* [KDBG] Don't enable int3 first chance handling by default. Should fix ntdll exception winetest. Found by Arty. ([[Timo Kreuzer]])
 
* [KDBG] Don't enable int3 first chance handling by default. Should fix ntdll exception winetest. Found by Arty. ([[Timo Kreuzer]])
* [CMAKE] Fix jom use with WDK builds. ([[Amine Khaldi]])
 
* [CMAKE] Remove some hacks from ntdll and msvcrt build files Bring msvcrt* files in better sync ([[Thomas Faber]])
 
 
* [WIDL] reenable -Oif flag, it's too good to be disabled With this commit, advapi32:service winetest suffers only 2 failures. ([[Jérôme Gardou]])
 
* [WIDL] reenable -Oif flag, it's too good to be disabled With this commit, advapi32:service winetest suffers only 2 failures. ([[Jérôme Gardou]])
 
* [WIDL] duplicate type entry for parameters with the range attribute. This fixes the problem that Eric Kohl detected. This has already been sent to wine. ([[Jérôme Gardou]])
 
* [WIDL] duplicate type entry for parameters with the range attribute. This fixes the problem that Eric Kohl detected. This has already been sent to wine. ([[Jérôme Gardou]])
Line 1,594: Line 1,479:
 
* [CRT] Do not skip calling DllMain on non-GCC builds ([[Thomas Faber]])
 
* [CRT] Do not skip calling DllMain on non-GCC builds ([[Thomas Faber]])
 
* [HAL] Fix amd64 build ([[Timo Kreuzer]])
 
* [HAL] Fix amd64 build ([[Timo Kreuzer]])
* [CMAKE] Fix compilation with VS x64 ([[Timo Kreuzer]])
 
* [CMAKE] Remove /nologo option from RC again - WDK's version doesn't support it Add /nologo to MIDL's flags Remove redundant IDL compiler declaration for GCC build ([[Thomas Faber]])
 
 
* [CRT] Add frame pointer omission info to strcpy and wcscpy ([[Timo Kreuzer]])
 
* [CRT] Add frame pointer omission info to strcpy and wcscpy ([[Timo Kreuzer]])
 
* [INF] Add Polish translation of device names ([[Rafał Harabień]])
 
* [INF] Add Polish translation of device names ([[Rafał Harabień]])
 
* [user32/win32k] cleanup internal headers remove unused functions and definitions move shared definitions to ntuser.h ([[Giannis Adamopoulos]])
 
* [user32/win32k] cleanup internal headers remove unused functions and definitions move shared definitions to ntuser.h ([[Giannis Adamopoulos]])
* [CMAKE] Do not spam MSVC build log with RC/nmake logo ([[Thomas Faber]])
 
 
* [KSPROXY/KS/SCSIPORT] Use sizeof(PVOID) instead of sizeof(PFOO) just for clarity that we really want a pointer size [SCSIPORT] Don't initialize a pointer with RtlZeromemory ([[Timo Kreuzer]])
 
* [KSPROXY/KS/SCSIPORT] Use sizeof(PVOID) instead of sizeof(PFOO) just for clarity that we really want a pointer size [SCSIPORT] Don't initialize a pointer with RtlZeromemory ([[Timo Kreuzer]])
 
* [INTRIN] Fix _bittest64 prototype [STLPORT] Fix amd64 build of modules using these headers ([[Timo Kreuzer]])
 
* [INTRIN] Fix _bittest64 prototype [STLPORT] Fix amd64 build of modules using these headers ([[Timo Kreuzer]])
* [HAL] Fix CMake build ([[Thomas Faber]])
 
 
* Slightly rearrange base addresses to get rid of DLL relocations during bootup. ([[Aleksey Bragin]])
 
* Slightly rearrange base addresses to get rid of DLL relocations during bootup. ([[Aleksey Bragin]])
 
* [HAL] Add PCI_HAL device for non-ACPI machines. Code taken from the ACPI-HAL. This is just a quick hack and needs some more improvements. ([[Eric Kohl]])
 
* [HAL] Add PCI_HAL device for non-ACPI machines. Code taken from the ACPI-HAL. This is just a quick hack and needs some more improvements. ([[Eric Kohl]])
Line 1,618: Line 1,499:
 
* [RTL] Remove duplicate function [CRT] add _local_unwind stub and fix c++ symbols ([[Timo Kreuzer]])
 
* [RTL] Remove duplicate function [CRT] add _local_unwind stub and fix c++ symbols ([[Timo Kreuzer]])
 
* [INTRIN] Deconstify most parameters in the intrinsics. add __movsq, _bittest64, __umulh ([[Timo Kreuzer]])
 
* [INTRIN] Deconstify most parameters in the intrinsics. add __movsq, _bittest64, __umulh ([[Timo Kreuzer]])
* [CMAKE] fix usage of set_entrypoint link libpng to ntdll on amd64 build crtdll and nmidebug only on x86 silence some linker warnings on MSVC compile riched20/msvc-thiscall.c only on x86 Add WIN64 definition to acpica Add ehandler.c to libcntpr ([[Timo Kreuzer]])
 
 
* [HAL] Fix device reporting to work with the IoReportDetectedDevice patch [HAL/ACPI] Turn debugging off ([[Cameron Gutman]])
 
* [HAL] Fix device reporting to work with the IoReportDetectedDevice patch [HAL/ACPI] Turn debugging off ([[Cameron Gutman]])
 
* [INF] Install the processors class Add missing INFs to syssetup.inf ([[Cameron Gutman]])
 
* [INF] Install the processors class Add missing INFs to syssetup.inf ([[Cameron Gutman]])
Line 1,627: Line 1,507:
 
* [LIBSAMPLERATE] Update to version 0.1.8 Supports amd64 now ([[Timo Kreuzer]])
 
* [LIBSAMPLERATE] Update to version 0.1.8 Supports amd64 now ([[Timo Kreuzer]])
 
* [STLPORT] Fix Interlocked* declarations Fix amd64 build ([[Timo Kreuzer]])
 
* [STLPORT] Fix Interlocked* declarations Fix amd64 build ([[Timo Kreuzer]])
* [CMAKE] Add current source directory to MS RC include paths Add include directories to WRC include paths Now they should behave identically enough. Thanks to Amine. ([[Thomas Faber]])
 
* [SERVICES] Fix CMake build. ([[Amine Khaldi]])
 
 
* [SERVICES/ADVAPI32] Rewrite the command packet transfer code between the service control manager (services.exe) and the service control dispatcher (advapi32.dll). The service name is no longer stored in an array of WCHARs at the end of the command packet. The service name is now stored behind the fixed size command packet header using an offset value in the header to determine the start of the string. The same method will be used to store start arguments to the service dispatcher, but it is not fully implemented yet. ([[Eric Kohl]])
 
* [SERVICES/ADVAPI32] Rewrite the command packet transfer code between the service control manager (services.exe) and the service control dispatcher (advapi32.dll). The service name is no longer stored in an array of WCHARs at the end of the command packet. The service name is now stored behind the fixed size command packet header using an offset value in the header to determine the start of the string. The same method will be used to store start arguments to the service dispatcher, but it is not fully implemented yet. ([[Eric Kohl]])
 
* [PCI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT [PNPROOT] Fix registry query and returning of device description [ACPI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT ([[Cameron Gutman]])
 
* [PCI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT [PNPROOT] Fix registry query and returning of device description [ACPI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT ([[Cameron Gutman]])
Line 1,637: Line 1,515:
 
* [CRT] Add __C_specific_handler stub Add aliases for C++ code on amd64 builds Fix fmod symbol Merge .CRT section into .data on amd64 remove an old hack ([[Timo Kreuzer]])
 
* [CRT] Add __C_specific_handler stub Add aliases for C++ code on amd64 builds Fix fmod symbol Merge .CRT section into .data on amd64 remove an old hack ([[Timo Kreuzer]])
 
* [PSDK] Simplify definition for YieldProcessor and add DbgRaiseAssertion for amd64 in winnt.h [ASM] Fix some stuff for amd64 ([[Timo Kreuzer]])
 
* [PSDK] Simplify definition for YieldProcessor and add DbgRaiseAssertion for amd64 in winnt.h [ASM] Fix some stuff for amd64 ([[Timo Kreuzer]])
* [CMAKE] handle stdcall decoration in MSVC set_entrypoint ([[Timo Kreuzer]])
 
 
* [CRT] guard some inline functions from being used in certain cases ([[Timo Kreuzer]])
 
* [CRT] guard some inline functions from being used in certain cases ([[Timo Kreuzer]])
 
* [ASM] prefix labels only on x86 improve syscall stub code ([[Timo Kreuzer]])
 
* [ASM] prefix labels only on x86 improve syscall stub code ([[Timo Kreuzer]])
Line 1,649: Line 1,526:
 
* Enable debug prints temporarily in an attempt to help diagnose the ACPI issues ([[Cameron Gutman]])
 
* Enable debug prints temporarily in an attempt to help diagnose the ACPI issues ([[Cameron Gutman]])
 
* [RTL] Rename memgen.c to byteswap.c and merge with the implementations from largeint.c, that were using intrinsics Fix amd64 build ([[Timo Kreuzer]])
 
* [RTL] Rename memgen.c to byteswap.c and merge with the implementations from largeint.c, that were using intrinsics Fix amd64 build ([[Timo Kreuzer]])
* [CRT] Remove duplicated functions Fix MSVC amd64 build cleanup the cmake file a little creadit wine for their code ([[Timo Kreuzer]])
 
 
* [INTRIN] Use fixed inlined version of __invlpg only on x86 ([[Timo Kreuzer]])
 
* [INTRIN] Use fixed inlined version of __invlpg only on x86 ([[Timo Kreuzer]])
 
* [HAL] Don't use a hard-coded constant instead of PAGE_SHIFT ([[Cameron Gutman]])
 
* [HAL] Don't use a hard-coded constant instead of PAGE_SHIFT ([[Cameron Gutman]])
Line 1,670: Line 1,546:
 
* [ROSSYM_NEW] including debug.h once is enough ([[Jérôme Gardou]])
 
* [ROSSYM_NEW] including debug.h once is enough ([[Jérôme Gardou]])
 
* [ROSSYM_NEW] please, do not include debug.h from precompiled header :-/ ([[Jérôme Gardou]])
 
* [ROSSYM_NEW] please, do not include debug.h from precompiled header :-/ ([[Jérôme Gardou]])
* [CMAKE] get back to DllMAinCRTStartup entry point ([[Jérôme Gardou]])
 
 
* [AUTOCHK][CMD][TASKMGR] Exclude some indirectly included headers. ([[Amine Khaldi]])
 
* [AUTOCHK][CMD][TASKMGR] Exclude some indirectly included headers. ([[Amine Khaldi]])
 
* [SERVICES] Fix the GENERIC_ALL access rights mapping for service handles. ([[Eric Kohl]])
 
* [SERVICES] Fix the GENERIC_ALL access rights mapping for service handles. ([[Eric Kohl]])
Line 1,683: Line 1,558:
 
* [LWIP] Fix a buffer overflow when the packet queue has more packets than the receive request can take Remove an extra variable ([[Cameron Gutman]])
 
* [LWIP] Fix a buffer overflow when the packet queue has more packets than the receive request can take Remove an extra variable ([[Cameron Gutman]])
 
* [WIDL] Reapply the switchtype patch from widl-ros.diff. This patch should be sent upstream to wine. See issue #6406 for more details. ([[Eric Kohl]])
 
* [WIDL] Reapply the switchtype patch from widl-ros.diff. This patch should be sent upstream to wine. See issue #6406 for more details. ([[Eric Kohl]])
* [CMAKE] Add add_delay_importlibs for MSVC ([[Timo Kreuzer]])
 
 
* [LWIP] Fix user-initiated hard connection closures ([[Cameron Gutman]])
 
* [LWIP] Fix user-initiated hard connection closures ([[Cameron Gutman]])
 
* [WIDL] use -Oif flag to produce modern (!) NT4 stubs, with Microsoft extensions to IDL language. [ADVAPI32] Initialize *pcbBytesNeeded, as it's marked as [in], it needs to be in the 0-8k range before being passed to RPC. Now 2nd stage got his mouse and keyboard again. ([[Jérôme Gardou]])
 
* [WIDL] use -Oif flag to produce modern (!) NT4 stubs, with Microsoft extensions to IDL language. [ADVAPI32] Initialize *pcbBytesNeeded, as it's marked as [in], it needs to be in the 0-8k range before being passed to RPC. Now 2nd stage got his mouse and keyboard again. ([[Jérôme Gardou]])
Line 1,698: Line 1,572:
 
* [IP] Merge r53134 and r53135 from the GSoC TCP/IP branch ([[Cameron Gutman]])
 
* [IP] Merge r53134 and r53135 from the GSoC TCP/IP branch ([[Cameron Gutman]])
 
* [LWIP] Fix msvc build ([[Timo Kreuzer]])
 
* [LWIP] Fix msvc build ([[Timo Kreuzer]])
* [CMAKE] Convert some macros to functions. ([[Amine Khaldi]])
 
* [CMAKE] Convert some macros to functions. ([[Amine Khaldi]])
 
 
* [INTRIN] _mm_pause has an implicit full memory barrier, emulate this on gcc as well ([[Timo Kreuzer]])
 
* [INTRIN] _mm_pause has an implicit full memory barrier, emulate this on gcc as well ([[Timo Kreuzer]])
* [CMAKE] Convert add_importlibs to a function. ([[Amine Khaldi]])
 
 
* [IDL] set end points of interfaces ([[Jérôme Gardou]])
 
* [IDL] set end points of interfaces ([[Jérôme Gardou]])
 
* [TRANSLATION] Resize controls to allow wider strings of polish translation to fit in; Assorted translation fixes, added missing strings; Patch by Adam Stachowicz (Saibamen) and wojo664, minor corrections by me; ([[Olaf Siejka]])
 
* [TRANSLATION] Resize controls to allow wider strings of polish translation to fit in; Assorted translation fixes, added missing strings; Patch by Adam Stachowicz (Saibamen) and wojo664, minor corrections by me; ([[Olaf Siejka]])
 
* [IP] Remove an obsolete comment ([[Cameron Gutman]])
 
* [IP] Remove an obsolete comment ([[Cameron Gutman]])
* [CMAKE][CMAKE] turn most macros in function 2/x. separate rpc server and client stubs, and generate them directly instead of using a library, so they got the flags that the module uses. commit forgotten file from r53088 get rid of winesdk target, it's useless now ([[Jérôme Gardou]])
 
* [CMAKE] fix "use of uninitialized variables" warning. Yes, cmake got this to! ([[Jérôme Gardou]])
 
* [CMAKE] turn most macros in function 1/x. This avoids defining a truckload of variables in the global space, and some of these variables would collapse themselves in certain cases. ([[Jérôme Gardou]])
 
* [CMAKE] Set RC compiler for some modules. ([[Amine Khaldi]])
 
 
* [WIN32K] - Fix uninitialized variable usage [ADVAPI32] - Fix a TRACE [PCIX] - Fix statements without effect Spotted by MSVC. ([[Thomas Faber]])
 
* [WIN32K] - Fix uninitialized variable usage [ADVAPI32] - Fix a TRACE [PCIX] - Fix statements without effect Spotted by MSVC. ([[Thomas Faber]])
 
* [SERVICES] Fix coding style. No code changes. ([[Eric Kohl]])
 
* [SERVICES] Fix coding style. No code changes. ([[Eric Kohl]])
* [CMAKE] make generated files depend on their generator It seems stupid, but I removed this quite some time ago, don't ask me why. Now, you just have to build the tools and do an incremental build each time a tool is updated. ([[Jérôme Gardou]])
 
 
* [PSDK] do not redefine UNICODE_STRING and NTSTATUS if wintrnl.h has already been included define PNTSTATUS in wintrnl.h add RPC_PROTSEC_VECTOR and RPC_MGMT_AUTHORIZATION_FN definitions ([[Jérôme Gardou]])
 
* [PSDK] do not redefine UNICODE_STRING and NTSTATUS if wintrnl.h has already been included define PNTSTATUS in wintrnl.h add RPC_PROTSEC_VECTOR and RPC_MGMT_AUTHORIZATION_FN definitions ([[Jérôme Gardou]])
 
* [NDK] Add RtlCompareMemoryUlong and RtlCopyBytes/RtlFillBytes/RtlZeroBytes ([[Thomas Faber]])
 
* [NDK] Add RtlCompareMemoryUlong and RtlCopyBytes/RtlFillBytes/RtlZeroBytes ([[Thomas Faber]])
Line 1,719: Line 1,585:
 
* [CSRSRV] Define NDEBUG only once Don't define helper macro in the source DPRINT fixes [NTDLL/LDR] More verbose DPRINT for initialization failure ([[Thomas Faber]])
 
* [CSRSRV] Define NDEBUG only once Don't define helper macro in the source DPRINT fixes [NTDLL/LDR] More verbose DPRINT for initialization failure ([[Thomas Faber]])
 
* [KERNEL32] - Fix DuplicateHandle return value [WIN32CSR] - Fix DPRINT ([[Thomas Faber]])
 
* [KERNEL32] - Fix DuplicateHandle return value [WIN32CSR] - Fix DPRINT ([[Thomas Faber]])
* [CMAKE] add cmake visual ASM compiler detection script, from cmake 2.8.5 + modification to handle ml32/64 ([[Jérôme Gardou]])
 
 
* [PSDK] mark operators == et != of REFPROPERTYKEY as C++ externs ([[Jérôme Gardou]])
 
* [PSDK] mark operators == et != of REFPROPERTYKEY as C++ externs ([[Jérôme Gardou]])
* [CMAKE] use functions instead of macros. This avoids adding flags multiple times. See the PARENT_SCOPE option of cmake's command "set" for details. ([[Jérôme Gardou]])
 
 
* [CSRSS]: Fix broken logic. ([[Alex Ionescu]])
 
* [CSRSS]: Fix broken logic. ([[Alex Ionescu]])
 
* [CSRSRV/KERNEL32]: Have CSRSS create a proper shared section (Based on code taken from the CSRSS rewrite in trunk) and attach it to every client. [CSRSRV/KERNEL32]: Have CSRSS fill out the base server static data. Still a bit of a hack since we should have a basesrv to do this, but it'll fix the "can't install any drivers" bug as well as increase performance since we now cache a bunch of data system-wide. [KERNEL32]: Remove all related hacks in kernel32. [CSRSRV]: Only accept the incoming connection if we found CSR process data about it. ([[Alex Ionescu]])
 
* [CSRSRV/KERNEL32]: Have CSRSS create a proper shared section (Based on code taken from the CSRSS rewrite in trunk) and attach it to every client. [CSRSRV/KERNEL32]: Have CSRSS fill out the base server static data. Still a bit of a hack since we should have a basesrv to do this, but it'll fix the "can't install any drivers" bug as well as increase performance since we now cache a bunch of data system-wide. [KERNEL32]: Remove all related hacks in kernel32. [CSRSRV]: Only accept the incoming connection if we found CSR process data about it. ([[Alex Ionescu]])
 
* [SERVICES] If a service will be started and another service is already running in the same image, send a start command instead of starting the process again. This enables us to run multiple services within a single process, like svchost.exe. ([[Eric Kohl]])
 
* [SERVICES] If a service will be started and another service is already running in the same image, send a start command instead of starting the process again. This enables us to run multiple services within a single process, like svchost.exe. ([[Eric Kohl]])
* [CMAKE/GCC] fix entry point for native dlls ([[Jérôme Gardou]])
 
 
* [PSDK/WINNT.H] add DEFINE_ENUM_FLAG_OPERATORS macro ([[Jérôme Gardou]])
 
* [PSDK/WINNT.H] add DEFINE_ENUM_FLAG_OPERATORS macro ([[Jérôme Gardou]])
 
* [TCPIP] Remove the extra debug prints since the bug has been fixed ([[Cameron Gutman]])
 
* [TCPIP] Remove the extra debug prints since the bug has been fixed ([[Cameron Gutman]])
Line 1,733: Line 1,596:
 
* [SERVICES] ScmCreateOrReferenceServiceImage: Link the SERVICE_IMAGE struct to the SERVICE struct in the create and the reference case. Otherwise only the first service started from an image gets a valid pImage pointer. Add some debug code. ([[Eric Kohl]])
 
* [SERVICES] ScmCreateOrReferenceServiceImage: Link the SERVICE_IMAGE struct to the SERVICE struct in the create and the reference case. Otherwise only the first service started from an image gets a valid pImage pointer. Add some debug code. ([[Eric Kohl]])
 
* [FULLFAT] Add missing bugcodes dependency, spotted by elhoir. ([[Sylvain Petreolle]])
 
* [FULLFAT] Add missing bugcodes dependency, spotted by elhoir. ([[Sylvain Petreolle]])
* [CMAKE] Thomas Faber: Properly Initialize OUTPUT_VARIABLE. ([[Amine Khaldi]])
 
 
* Add "-fno-omit-frame-pointer" compiler option. GCC 4.6 omits on -O2 and -O3 level. ([[Dmitry Gorbachev]])
 
* Add "-fno-omit-frame-pointer" compiler option. GCC 4.6 omits on -O2 and -O3 level. ([[Dmitry Gorbachev]])
 
* [NDK/DDK] Fix definitions of ZwPowerInformation and ZwInitiatePowerAction ([[Jérôme Gardou]])
 
* [NDK/DDK] Fix definitions of ZwPowerInformation and ZwInitiatePowerAction ([[Jérôme Gardou]])
 
* [MINGW-W64] Reduce differences with upstream. Fixes crash if ReactOS is compiled with GCC 4.6. ([[Dmitry Gorbachev]])
 
* [MINGW-W64] Reduce differences with upstream. Fixes crash if ReactOS is compiled with GCC 4.6. ([[Dmitry Gorbachev]])
* [CMAKE] Link vfatxlib to chkstk. ([[Amine Khaldi]])
 
 
* [AUDIOSRV] Designate audiosrv.h as a precompiled header and use it as one. ([[Amine Khaldi]])
 
* [AUDIOSRV] Designate audiosrv.h as a precompiled header and use it as one. ([[Amine Khaldi]])
* [CMAKE] add nativedll module type for msvc error out in msvc toolchain if unknown module type is set ([[Jérôme Gardou]])
 
* [CMAKE] Update our asm support thanks to Jerome. Bring in CMakeDetermineCompilerId.cmake to make sure this will work for pretty much all systems. Disable the use of response files when you enable ccache. ([[Amine Khaldi]])
 
* [CMAKE] De-duplicate IDL flags. ([[Amine Khaldi]])
 
 
* [CSRSRV|NTOSKRNL|KERNEL32|NTDLL] Fix multiple definition of variables. ([[Dmitry Gorbachev]])
 
* [CSRSRV|NTOSKRNL|KERNEL32|NTDLL] Fix multiple definition of variables. ([[Dmitry Gorbachev]])
 
* [NDK] Remove Resource functions, as they are in wdm.h add KeTryToAcquireQueuedSpinLockRaiseToSynch, ExRaiseHardError & enum members Patch by Thomas Faber ([[Olaf Siejka]])
 
* [NDK] Remove Resource functions, as they are in wdm.h add KeTryToAcquireQueuedSpinLockRaiseToSynch, ExRaiseHardError & enum members Patch by Thomas Faber ([[Olaf Siejka]])
Line 1,778: Line 1,636:
 
* [RTL]: Implement RtlGetFullPathName_Ustr, not yet used. [RTL]: Simplify RtlDosSearchPath_U by not using a temporary "char" value, and just reading straight from the string buffer. ([[Alex Ionescu]])
 
* [RTL]: Implement RtlGetFullPathName_Ustr, not yet used. [RTL]: Simplify RtlDosSearchPath_U by not using a temporary "char" value, and just reading straight from the string buffer. ([[Alex Ionescu]])
 
* [D3D] Do not link d3dx9 dlls to wined3d. ([[Sylvain Petreolle]])
 
* [D3D] Do not link d3dx9 dlls to wined3d. ([[Sylvain Petreolle]])
* [CMAKE] touch dlldata.c files to avoid to recompile them on a rebuild ([[Jérôme Gardou]])
 
 
* [RTL] fix RtlDosSearchPath_U : do not alter filename while searching for file extension ([[Jérôme Gardou]])
 
* [RTL] fix RtlDosSearchPath_U : do not alter filename while searching for file extension ([[Jérôme Gardou]])
 
* [ASM] Generate MSVC debugging info for KiUserExceptionDispatcher, KiIntSystemCall, KiFastSystemCall, KiFastSystemCallRet, KiSystemService, KiFastCallEntry, all systemcall stubs Now usermode backtraces look as they should in WinDbg ([[Timo Kreuzer]])
 
* [ASM] Generate MSVC debugging info for KiUserExceptionDispatcher, KiIntSystemCall, KiFastSystemCall, KiFastSystemCallRet, KiSystemService, KiFastCallEntry, all systemcall stubs Now usermode backtraces look as they should in WinDbg ([[Timo Kreuzer]])
Line 1,807: Line 1,664:
 
* [NTOSKRNL] Update TRAP_ENTRY macro to generate debugging information. Now WinDbg knows how to deal with the trap functions and also shows the user mode back traces. ([[Timo Kreuzer]])
 
* [NTOSKRNL] Update TRAP_ENTRY macro to generate debugging information. Now WinDbg knows how to deal with the trap functions and also shows the user mode back traces. ([[Timo Kreuzer]])
 
* [NTDLL]: Fix multiple levels of fail in LdrGetDllHandleEx (returning with lock held, leaking memory, using NULL pointers, using magic flags, missing ASSERTs, buffer overflows, usage of incorrect constants, ignoring status failures, lack of varaible initialization, incorrect string initialization). ([[Alex Ionescu]])
 
* [NTDLL]: Fix multiple levels of fail in LdrGetDllHandleEx (returning with lock held, leaking memory, using NULL pointers, using magic flags, missing ASSERTs, buffer overflows, usage of incorrect constants, ignoring status failures, lack of varaible initialization, incorrect string initialization). ([[Alex Ionescu]])
* [CMAKE] fix typo ([[Jérôme Gardou]])
 
 
* [WLANSVC] Set status SERVICE_STOPPED when the service has been stopped. ([[Eric Kohl]])
 
* [WLANSVC] Set status SERVICE_STOPPED when the service has been stopped. ([[Eric Kohl]])
 
* [NTDLL]: Fix LdrUnlockLoaderLock bugs. 4x10000$. ([[Alex Ionescu]])
 
* [NTDLL]: Fix LdrUnlockLoaderLock bugs. 4x10000$. ([[Alex Ionescu]])
 
* [IP] Complete waiting requests upon socket error Fixes connect() stall forever if the remote side is not listening ([[Cameron Gutman]])
 
* [IP] Complete waiting requests upon socket error Fixes connect() stall forever if the remote side is not listening ([[Cameron Gutman]])
* [CMAKE] Add yet another awesome rossym/kdbg feature: struct printing using the command "dt". Brought to you by the Arty. ([[Amine Khaldi]])
 
* [CMAKE] Disable stdcall fixup for executables. ([[Amine Khaldi]])
 
* [CMAKE] Improve configure.cmd ([[Timo Kreuzer]])
 
 
* [NDK] Fix LPCP_PORT_OBJECT definition ([[Timo Kreuzer]])
 
* [NDK] Fix LPCP_PORT_OBJECT definition ([[Timo Kreuzer]])
* [CMAKE] Improve generation of rpc proxy files with midl (dependency handling) ([[Timo Kreuzer]])
 
 
* [IP] Return the amount of data sent in XXXSendDatagram() functions Fixes send() and sendto() return values for datagram sockets (bug exposed by the AFD send user-mode IRP rewrite) ([[Cameron Gutman]])
 
* [IP] Return the amount of data sent in XXXSendDatagram() functions Fixes send() and sendto() return values for datagram sockets (bug exposed by the AFD send user-mode IRP rewrite) ([[Cameron Gutman]])
 
* [MSAFD/AFD] Pass the non-blocking information as a boolean (mswsock_new does this too) [AFD] Don't block waiting for a connection to accept on a non-blocking listener ([[Cameron Gutman]])
 
* [MSAFD/AFD] Pass the non-blocking information as a boolean (mswsock_new does this too) [AFD] Don't block waiting for a connection to accept on a non-blocking listener ([[Cameron Gutman]])

Revision as of 21:10, 30 December 2011

This is the changelog for ReactOS™ version 0.3.14 (to be released soon), an open-source operating system designed to be binary executable - and device driver-compatible with Microsoft™ Windows NT™ and subsequent Microsoft operating systems such as Windows 2000™ and Windows XP™. ReactOS is written by the ReactOS development team, and the last previous version of ReactOS was version 0.3.13.

Contents

General

Contributors

Core developers

  • Giannis Adamopoulos
  • Johannes Anderwald
  • Aleksey Bragin
  • Dmitry Chapyshev
  • Benedikt Freisen
  • Jerome Gardou
  • Cameron Gutman
  • Kamil Hornicek
  • Amine Khaldi
  • Eric Kohl
  • Timo Kreuzer
  • Matthias Kupfer
  • Michael Martin
  • Ged Murphy
  • Sylvain Petreolle
  • ReactOS Portable Systems Group
  • Daniel Reimer
  • Gregor Schneider
  • Pierre Schweitzer
  • James Tabor
  • Christoph von Wittich
  • Art Yerkes

Patch Submitters

  • Adam Kachwalla
  • Mario Kacmar
  • Nathan Lineback
  • Nikolay Myltsev
  • Anton Yarotsky

Generic 0.3.14 Changes

Core Functionality

Audio/Video Stack

Kernel Streaming

  • Input/output parameters are now probed when a request comes in from user mode.

PORTCLS

  • Status codes of unhandled IRPs are no longer modified.

Filesystems

CDFS

  • Reading along non-aligned blocks has been fixed.

FASTFAT

  • A leading period in front of a file name no longer causes asserts as it is valid for long filenames.
  • Verification code moved so that they are in the codepath for more functions.

FSRTL

  • FsRtlIs*InExpression functions are now working after backtracking was implemented.

NPFS

  • Interruption of waits have been reworked to avoid potential deadlocks and corruption.
  • CCB access is now managed using reference counting, elimination a race condition and corruption during 2nd stage.

Hardware Management

  • IRP_MN_QUERY_POWER and IRP_MN_SET_POWER are now sent to all enumerated devices when a power state change occurs.
  • A volatile device tree is created during 1st stage booting so that the HAL loaded during 2nd stage will not have to deal with phantom devices.
  • ACPI is now automatically enabled when the ACPI HAL is loaded, and disabled when the standard HAL is loaded.

ACPI

  • ACPIA updated to 20110922.
  • Special devices are now identified with unique IDs.
  • Physical address retrieval has been implemented.
  • Reading and writing PCI configuration mistakenly interpreted a value representing bits as representing bytes, causing memory corruption and overreads. This issue is now resolved.

HAL

  • Support for Scatter/Gather DMA operations has been added.

Plug n Play

  • IRPs sent to PnP devices during enumeration are now compatible with XP/2003/Vista.
  • Duplicate loading of drivers is now properly resolved.
  • Device removal has been reworked so that the remove command will propagate down to the children of devices. When any device in the top level fails to honor the remove request, the remove command is canceled for all devices that received the original remove command.

Kernel

  • Time setting functions are now implemented.
  • Trap handling code continues to be separated into architecture specific blocks as needed.
  • Processor number count is now defined in one place instead of having a different version for each architecture.
  • Debug trace code has been cleaned up to avoid crashes in certain situations.
  • More Interlocked functions have been converted into C from assembly, improving portability.
  • Trap handling for user-mode traps has been fixed.
  • Text display using bootvid is now disabled after phase 1 initialization, eliminating graphical glitches when debug to screen is enabled.
  • A variety of internal data structures have been fixed thanks to the new kernel mode unit tests.
  • Resource acquisition now returns the correct boolean value depending on whether the caller wishes to wait for the resource to be available.
  • Assembly trap handlers have been moved so that a 32bit relative jump is always to ensure consistency now that a wider range of interrupt values may be used.
  • Execution yielding has been modified to match behavior on Windows, including attempting to locklessly check the processor control block.
  • The kernel now correctly reports whether there are pending APCs during a KiSwapContextExit call.

I/O

  • Names for internal IO functions have been renamed to match those on Windows.
  • IopDecrementDeviceObjectHandleCount, IopInterlockedIncrementUlong, IopInterlockedDecrementUlong, IopNotifyAlreadyRegisteredFileSystems, and IoEnumerateRegisteredFiltersList functions implemented.
  • Additional I/O device registration and removal functions relating to storage devices have been implemented.
  • The kernel now handles unexpected device removals.
  • Removal of locks when debug information is associated is now fixed.
  • The correct number of serial ports is now registered in the global configuration table.

KDBG

  • Output after doublefaults improved.
  • The mouse is now disabled when reading from keyboard.
  • Output counting fixed so that new commands will show even after previous command created large amounts of output.

Memory Management

  • Kernel debug pool implemented. The debug pool is designed to help driver developers find memory usages errors in their code.
  • Session space address layout initialization has now been separated on a per-architecture basis.
  • Continued work on memory management on AMD64 platform.
  • SEH usage has been streamlined to avoid an infinite loop when locking an address space.
  • Working set balancer code has been reworked to trim pages during low memory situations.
  • Alignment of memory blocks fixed up to make sure operations are done on page-sized blocks.
  • Traversal of virtual address tree has been fixed and optimized.
  • Mapping of memory sections has seen fixes to support the new loader.
  • A variety of locking related fixes.

Common Cache

  • CC now will flush dirty pages if it cannot satisfy a memory request from available free pages.

Network Stack

MSAFD

  • Inflight disconnect IRPs are now canceled during socket closure.
  • Cancellation of operations and shutdown of connections has been reworked considerably. This included waiting for all pending requests to be fulfilled, issuing correct signals to initiate shutdown, and cleaning up lingering operations to make sure all data is delivered.
  • Data is no longer corrupted when the receive buffer is smaller than the incoming data.
  • Events whose conditions have already been fulfilled before a wait operation was called are immediately notified now.
  • AFD now immediately listens for new connections instead of waiting for the current connection to be accepted, helping increase throughput.

Network Driver Interface Specification

  • NDIS now reports itself as 5.1 conformant.
  • Memory allocations are now done at correct interrupt levels or have been made safe to do at lower interrupt levels.
  • A variety of DMA functions have been implemented, granting drivers access to Scatter/Gather functionality.
  • Addressing of slave DMA devices that do not support 32bit addresses has been fixed.
  • PnP issued IRP handling has seen fixes.

TCP/IP

  • The default packet and buffer pools have been increased to help deal with high network traffic situations.

Startup/Shutdown

FreeLoader

  • FreeLoader now splits the memory it needs into two different heaps, one that is preserved and passed onto the kernel and one that is discarded once booting is complete. This helps reduce the memory footprint of the OS when it first starts up.
  • FreeLoader no longer allocates entire pages for every small memory allocations, reducing fragmentation and overall memory usage during booting.
  • A variety of fixes for dealing with bios memory maps. These maps could have a range of problems including invalid entries, overlapping regions, and not aligning entries along page boundaries. FreeLoader also no longer overwrites itself when loading the HAL due to invalid memory maps.
  • Wine-like debug macros ERR, FIXME, WARN, and TRACE have been introduced.
  • Boot drive and partition is now stored in shared memory instead of a register due to register value being erased during switch to long mode for 64bit booting.
  • FreeLoader is now able to switch back and forth between realmode and long mode on 64bit platforms.
  • FreeLoader no longer attempts to load referenced DLLs from directories other than system32.
  • Interrupt Descriptor Table setup is now in C instead of assembly.
  • Page entries are offset on ARM platforms to eliminate wasted entries that represented unusable addresses.
  • A variety of changes were made to where data was placed in low address memory to conform with Windows 2003 expectations.
  • A hack was added to support booting with "exotic" languages.
  • The VESA bios signature is now checked before VESA extensions are reported as being present.
  • Support for booting from ramdisks further improved.

Storage Stack

  • The disk geometry has been changed to be 63 sectors per track and 255 tracks per cylinder to match modern conventions.

UniATA

  • Synced to 0.41b2.
  • Timing values and sending of ATAPI commands has been modified to better deal with VirtualBox.

Drivers

Floppy

  • Initialization and resetting of the floppy controller have been reworked to prevent deadlocks in certain situations.
  • The count of floppy driver has been increased, fixing an issue where the drive would not show in Explorer.

I8042PRT

  • Hotplugging of PS/2 mice now supported if one was present at boot time.
  • Extended mice keys are no longer always treated as power keys.
  • All interrupts are enabled at the same time to avoid the controller going unresponsive.

KDCOM

  • Timing changes for better performance when transmitting output.

Keyboard/Mouse

  • A hack was added to bind all keyboard devices to the same keyboard class device when no default setting is present.

PCI

  • False interrupt resources are no longer reported.
  • Additional IRPs relating to device removal have been implemented, including ones that inform the PnP manager a device cannot be disabled or removed.

PCNET

  • Backoff mechanism has been added to the buffer allocation operation.
  • Resource cleanup has been fixed to not attempt to free resources that were never allocated.

SACDRV

  • Initial implementation of Special Administration Console driver begun.

USB

EHCI

  • Initial transfer of data transfer and related DMA operations, very preliminary.
  • Linking of queueheads and cleanup of used resources has been fixed. Queueheads identify a list of queued transfer descriptors.

USBDRV

  • usbdriver has been renamed to usbdrv.
  • The status is now correctly set to not be STATUS_PENDING, which caused the keyboard driver to wait indefinitely. Keyboard input using usbdrv should now work.

Video

VIDEOPORT

  • Legacy resources are correctly reported to the PnP manager.
  • All PCI buses are now checked instead of just the first eight.
  • Minor code cleanup to avoid usage of magic numbers.
  • A hack that resulted in the device object's name differing from what was stored in the registry has been removed, fixing mouse integration in VirtualBox.
  • Various AMD64 related fixes.

VGAMP

  • Mode index 12 and video mode 12h are no longer confused, permitting ReactOS to boot once more when VGA mode is selected.

Libraries

NTDLL

A new loader has been implemented, which respects more complex loader options and is better able to resolve dependency issues between various DLLs.

  • Security cookie initialization now correctly creates a 16bit cookie when asked, instead of always creating a 32bit cookie.
  • Thread Local Storage initialization has been fixed.
  • SEH has been applied to more parts of the new loader to protect against errors.
  • DLL loading has been improved, including optimizing checks for known DLLs.

Bootloader (FreeLoader)

  • [ISOBTRT] call it 13h with es set to 0, instead of the transfer buffer segment, that we loaded it with. Fixes KVM boot. (Timo Kreuzer)
  • [EXT2] Fix remaining issues, bootsector compiles with GAS and ML. Sadly GAs sucks a bit and does neither allow to specify byte offsets, nor does it chose this itself to save space. As a result the code gets several bytes larger and I had to trim the messages even more. (Timo Kreuzer)
  • [EXT2] Use HEX() macro remove BYTE modifiers [es:di] -> es:[di] equ -> = (Timo Kreuzer)
  • [EXT2] Convert labels and strings to portable format (Timo Kreuzer)
  • [EXT2] Convert comments to preprocessor format (Timo Kreuzer)
  • [EXT2] Duplicate ext2.asm to ext2.S, no changes yet (Timo Kreuzer)
  • [ISOBOOT] Use a high segment and 0 offset when loading setupldr. This fixes problems with an award bios. Thanks to Igor Paliychuk (igorko) for his help and patience burning / testing dozens of isos Fixes boot regression of cmake builds on real hw. (Timo Kreuzer)
  • [FAT32] Really fix loading the MSVC built kernel, by moving the FAT sector buffer beyond the area for freeldr.sys Load segment only in one place (Timo Kreuzer)
  • [FAT32] Add some code that does ... nothing, but fixes 2nd stage boot with msvc. To figure out why this is needed, is left as an excercise to the reader :) (Timo Kreuzer)
  • [FREELDR] Allocate enough memory for unicode strings (Rafał Harabień)
  • [ASM] Use CR, LF and NUL in .ascii macro. (Sylvain Petreolle)
  • [SETUPLDR] Display a message box and bail out if loading imported dlls failed (Timo Kreuzer)
  • [BOOTSECTOR] Fix a typo in a comment (Timo Kreuzer)
  • [ISOBOOT] Fix portable bootsector and make it gas compatible (its opcode identical to the nasm compiled one and works correctly) (Timo Kreuzer)
  • [ISOBOOT] Add portable asm version of iso boot sector (Timo Kreuzer)
  • [FAT32] Fix the "portable" version of the fat32 bootsector Its now mostly identical to the one we currently use, only a few encoding differences (Timo Kreuzer)

Kernel and Executive (NTOSKRNL)

Keyboard Layouts

  • [KBDPL] - Properly implement Polish (214) keyboard layout [KBDPL1] - Minor fixes (Rafał Harabień)
  • [KBDGR] - 1, 4, 5 keys should support CAPSLOCK. See issue #5296 for more details. (Rafał Harabień)
  • Revert 51698, problem is in win32k, see bug 6305 (Gabriel Ilardi)
  • [kbdit] Fix the "divide" key. Thanks to Giannis Adamopoulos for the help. See issue #6250 for more details. (Gabriel Ilardi)

Setup

  • [SETUP] Mario Kacmar: Added 'VBR only' as possible option to the reactos.exe - it is necessary to add it to other languages (I would not mess up codepages). See issue #5734 for more details. (Aleksey Bragin)

USETUP

  • [USETUP] Get rid of the ugly LIST_FOR_EACH macro. (Eric Kohl)
  • [USETUP] Load the font before displaying the Language Page. (Dmitry Gorbachev)
  • [USETUP] Enable translations of the language page. Patch by Stefan Fulea. Simplified the clear text code. Fixed the german language page. See issue #6637 for more details. (Eric Kohl)
  • [USETUP] Use Reactos_Debug for unattended MSVC installs. (Sylvain Petreolle)
  • [USETUP] Added a half checkpoint to prevent testbot to wrongly assume ReactOS has crashed during setup (Pierre Schweitzer)
  • [USETUP] Fix FAT32 boot sector pointer arithmetic Fixes setup error when installing FAT32 boot sector to file (Cameron Gutman)
  • [USETUP] Use a separate function, InstallFat12BootCodeToFloppy(), to install the floppy boot code Format the floppy to FAT12 before writing to it Booting FreeLoader from floppy works again (bug #6495) (Cameron Gutman)
  • [USETUP] Use sizeof(WCHAR) instead of sizeof(PWCHAR) when calculating REG_SZ size for NtSetValueKey (Timo Kreuzer)
  • [USETUP] Fix length calculation for FAT16 volumes (Cameron Gutman)
  • [USETUP] Fix formatting. No code change. (Timo Kreuzer)
  • [USETUP] Patch by Dmitry Gorbachev: Don't overwrite the OemName field in the bootsector. Although this field could theoretically contain any string, MS recommends using "MSWIN4.0" and MSDOS does even rely on it being this (or having higher last 2 characters) This way we preserve what is being put there when the disk is formatted, which is "MSWIN4.0" See issue #6386 for more details. (Timo Kreuzer)
  • [USETUP] Do not add RosDbg section on _WINKD_ builds (Timo Kreuzer)
  • [USETUP] Remove formatting and partitioning hacks which are unnecessary after fixing the invalid signature bug in the FAT formatting code (Cameron Gutman)
  • [USETUP] Disable the 1st stage user-mode PnP manager because it is creating incomplete registry keys which is confusing the real user-mode PnP manager and preventing devices installed in 1st stage from appearing in device manager Fixes displaying PCI bus controllers in device manager I need to discuss with Herve what should be done with this code (Cameron Gutman)
  • [USETUP] Fix polish translation (Rafał Harabień)
  • [USETUP] Don't link to mingw_main/mingw_common/kernel32! (Timo Kreuzer)
  • [USETUP] Fix Italian formatting. (Gabriel Ilardi)

Win32™ Personality

  • [WIN32K] Merge KeyboardInput thread and MouseInputThread into Raw Input Thread (RIT) (Rafał Harabień)
  • [WIN32K/CSRSS] Remove outdated comments Make Raw Input Thread CSRSS thread too Thanks to Smiley and ThFabba for investigating TEB issue (Rafał Harabień)
  • [WIN32K/CSRSS] Spawn keyboard and mouse input threads in csrss user-mode process so they are valid Win32 threads and have TEB (Rafał Harabień)
  • [Csrss|Win32k] Enable the desktop class and set the ReactOS variant of csrss back to local desktop class. Now all class tests pass, see bug 4778. (James Tabor)

User mode subsystem (CSRSS)

  • [WIN32CSR] Fix process reference leak in case of GuiConsoleOpenUserRegistryPathPerProcessId failing to open registry key. Fixes console processes in LiveCD being ghosts. (Rafał Harabień)
  • [WIN32CSR/CSRSS]: Implement the Sound Sentry CSRSS API. Obviously won't work until a real winsrv.dll exists (and its job will be to call NtUserSoundSentry in win32k.sys). (Alex Ionescu)
  • Fix timers. (James Tabor)
  • [CSRSS] - Remove DbgBreakPoint (Rafał Harabień)
  • [CSRSRV] Missed this. Sorry. (Amine Khaldi)
  • [CSRSRV]: All the allocations must come from the CSRSS shared heap, not the current CSR heap. (Alex Ionescu)
  • [CSRSRV]: CSRSS tries to connect with itself and already has the region mapped, so allow this as a hack. (Alex Ionescu)
  • [CSRSRV]: Hey Arch, try creating a shared section before mapping it. (Alex Ionescu)
  • [CSRSRV]: Hey Arch, try creating a shared section before mapping it. (Alex Ionescu)
  • [CSRSRV]: Try to see why it appears some processes don't have a handle in their CSR_PROCESS_DATA.... (Alex Ionescu)
  • [CSRSRV] don't hack the dll entry point name. Patch by Thomas Faber (Olaf Siejka)
  • [CSRSRV]: Initialize CSR_CONNECTION_INFO in CsrpHandleConnectionRequest. Should fix the fact CsrProcessId was bogus before, as were the CSR PEB fields. (Alex Ionescu)
  • [WIN32CSR] Fix CSR hard error messages. Parameters are now converted to ANSI string which are expected by message format string. (Rafał Harabień)
  • [Win32csr] Hack fix to allow Alt-Tab/Esc to be supported. More investigation is required, see bug 6198. (James Tabor)
  • Remove svn:mergeinfo property (Timo Kreuzer)
  • [win32csr] Implement routines to allow copy, paste and select all on console windows See issue #4068 for more details. (Gregor Schneider)
  • [Win32Csr] Hack ReactOS to boot again! See bug 5655. (James Tabor)
  • [win32csr/file.c] Add missing new lines to some DPRINT1 (Gabriel Ilardi)
  • [WIN32CSR] Swedish translation by Jan Blomqvist-Kinander. (Aleksey Bragin)
  • [WIN32CSR] Italian translation of command prompt's window title (Gabriel Ilardi)
  • [WIN32CSR] Polish translation of Command prompt window title (Olaf Siejka)
  • Command Prompt with translated window title German translation added other languages need to be translated (.rc files prepared) (Matthias Kupfer)

Kernel-mode subsystem Server (Win32K)

  • Fix return properties from atom. (James Tabor)
  • [Win32k] Fix crash in shutdown, see bug 6714. (James Tabor)
  • fix GetNCHitEx, restore track mouse buttons in test system. (James Tabor)
  • Fix GetNCHitEx rects. (James Tabor)
  • [Win32k] Create Monitor from rect. This will be used for window placement support. (James Tabor)
  • [WIN32K] Comment out some unused but set variables. Check for NtDeviceIoControlFile returned status and warn on failure. (Amine Khaldi)
  • [win32k] Fix a typo in NtUserSetClipboardData that tried to print a struct as a pointer (cid 15051) Clean up clipboard.c a bit. note: this cleanup "fixes" cid 14599 and 14598, but even though they are false positives, this cleanup was needed Add missing break in NtUserQueryWindow (cid 13486) (Giannis Adamopoulos)
  • [Win32k] Reposition IntCallWndProc/Ret so it call when sending to client. (James Tabor)
  • [WIN32K] Allocate lokkaside lists from non paged pool. Add allocation failure check. (Jérôme Gardou)
  • [Win32k] don't hangup on the user while in send message. (James Tabor)
  • [WIN32K] - SystemParametersInfo does not support SPIF_UPDATEINIFILE for SPI_SETDEFAULTINPUTLANG (Rafał Harabień)
  • [WIN32K] - Implement SPI_GETDEFAULTINPUTLANG. (Rafał Harabień)
  • [WIN32K] Don't set every loaded layout as default. Instead implement SPI_SETDEFAULTINPUTLANG. Fixes some minor problems with wrong layout loaded. Fix removing hotkey not associated with window (fixes winetest). (Rafał Harabień)
  • [Win32k] Fix path support, now all wine path tests pass. Need a PolyDraw test for non-path functions! The non-path code was synced ported, but still failed 16 path tests, then path was moved out. Purged missing patches from the last trunk freeze, tested with the program Area. Sync Information: Evan Stade <estade@gmail.com> : Improved PolyDraw in path closed case. Added PATH_PolyDraw. (James Tabor)
  • [Win32k] Fix crash in PATH_ExtTextOut. See bug 6587. Sync Information: Huw Davies <huw@codeweavers.com> : Add support for ETO_PDY and improve world transform support. Massimo Del Fedele <max@veneto.com> : Fix PATH_add_outline when mapping mode != MM_TEXT. PATH_ExtTextOut remove incorrect shift to DC origin. Correctly handle space char on Path_ExtTextOut(). Dmitry Timoshkov <dmitry@codeweavers.com> : The MAT2 parameter of GetGlyphOutline is mandatory. (James Tabor)
  • [WIN32K] - Don't define things from PSDK in source code (Rafał Harabień)
  • [WIN32K] Don't use exclusive lock when shared is enough Don't declare functions in source code (Rafał Harabień)
  • [WIN32K] Simplify monitors code fix few minor bugs (ie. not updating last error) Make monitor object more compatible to windows (Rafał Harabień)
  • Move mouse history to mouse.c and it is not effected by the hook bypass. (James Tabor)
  • [WIN32K] Add missing locks in monitors API Set proper last error when allocation fails (Rafał Harabień)
  • [WIN32K] Copy the BITMAPINFO to a safe kernel mode buffer, before accessing it. Fixes bug 6587. (Timo Kreuzer)
  • [win32k] Force all top level windows to update the size and position of their non client area when SPI_SETNONCLIENTMETRICS is used Should fix changing the non client metrics like caption height for open windows (before this we needed to close and reopen existing windows to let them be painted properly) (Giannis Adamopoulos)
  • [win32k] Do not send message WM_NCCALCSIZE asynchronously because we need its return value from the receiver. Should fix resizing or moving the non-client area of windows (Giannis Adamopoulos)
  • Remove Fixme. (James Tabor)
  • [Win32k] Fix TME. Not complete. These changes will allow theme highlighting to work. Passes wine test_TrackMouseEvent. Adamopoulos TME tests are proving to be difficult in locking down thread issues. On a slow system in CMD not redirected the test passes all but 15. Slow systems in CMD redirected to a output file or on real hardware in CMD not redirected, the results vary from 15 when the CMD buffer is full to 35 when it is not. When isolating each test, it passes. The QS bit issue will be handled later. (James Tabor)
  • [Win32k] Fix timer resolution so it will run every 10 ms +/-1ms. This is the default setting when the user provides less than 10 ms for the period to wait for the timer event. Pass wine test_timers_no_wnd. (James Tabor)
  • Fix MSVC build based on ThFabba suggestion (Rafał Harabień)
  • [WIN32K] - Formating... No code changes. (Rafał Harabień)
  • [WIN32K] Fix insertion of the GRAPHICS_DEVICE into the global list. Fixes mode enumeration when the 2nd adapter is used. Remove a hack. (Timo Kreuzer)
  • [Win32k] Fix timer resolution to match what windows uses. Now pass wine test_timers_no_wnd. (James Tabor)
  • [WIN32K] Fix a bug when iterating through the DEVMODE list Handle VgaCompatible flag differently, by reading this value from the registry for every installed driver. Priorize non-vga compatible devices over vga compatible, unless /BASEVIDEO is requested Fall back to vga compatible driver when no other is present (Timo Kreuzer)
  • [Win32k] Fix timer resolution for once a millisecond. Now pass wine test_timers_no_wnd. (James Tabor)
  • [Win32k] Properly set the timer event id's to match tests and add one more bit for track. Restore TME user API (now in mouse.c) and Hover Timer, these are not the Droids you are looking for. Restore TME cancellation point in co_MsqInsertMouseMessage and duplicate the the same in co_IntProcessMouseMessage. First thing, pDesk->spwndTrack is never NULL. The Theme TME patch code was setting the wrong QS bit and sending to the wrong queue instead of the pDesk->spwndTrack queue. Surprising this was working at all. Tested with Themes, passes wine test_TrackMouseEvent and fixes bug (6257 <-- !). Notes: It's all in the sequencing. Locate cancellation points, tracking mouse moves and set the hit test and track window. When the window message queue does not match the current thread, check it again and restore the mouse hover window if it is the same window as the track window and the hover bit set. Track cancellation points and clear the bits at the same time. Not when in WM_MOUSEMOVE. Guess when posting or sending to another thread? co_MsqInsertMouseMessage? (James Tabor)
  • [WIN32K] Get rid of RETURN macro in input functions Don't check functions parameters when USER lock is held Improve formatting (Rafał Harabień)
  • [WIN32K] - Move mouse specific input processing from input.c to mouse.c (Rafał Harabień)
  • [WIN32K] Fix a copy-paste error in EngBitBlt() and improve DIB_32BPP_ColorFill() behaviour in case when input rectangle is invalid (RECTL structure fields are signed, so "jle" instruction should be used instead of "jbe"). Patch by Igor Sudarikov <4seev3 at gmail [dot] com> See issue #4423 for more details. (Amine Khaldi)
  • [WIN32K] - Fix sending WM_SYSKEYUP for ALT. Fixes rest of user32:input winetest (6). It's finally green! (Rafał Harabień)
  • [WIN32K] Keyboard state is update when msg is peeked from queue (not posted) and before virtual keys are simplified. Fixes 2 user32:input winetests. (Rafał Harabień)
  • [WIN32K] Since some display drivers don't do as they should - return the drisplay driver name in the DEVMODE's dmDisplayName field - but return the miniport driver name, fix that name when creating the mode list. This fixes loading of VBox driver, when it is installed properly, which needs to be fixed as well. (Timo Kreuzer)
  • [WIN32K] Added Print Screen support in previous comit accidentally... Fix build and warning about global object being removed (Rafał Harabień)
  • [win32k] Fix and simplify retrieving the current process window station. All processes that enter win32k have a window station (including csrss) (Giannis Adamopoulos)
  • [WIN32K] - Add more clipboard internal functions for use by Print Screen support (Rafał Harabień)
  • [WIN32K] Right ALT on some keyboard sends LCONTROL and RALT key events Shift has never extended bit in key messages Fixes about 32 user32:input winetest Don't allow to register hotkeys with special keys combinations (eg. WIN key) Set last error in RegisterHotKey if hotkey is already registered (Rafał Harabień)
  • [win32k] do not use RETURN macro in keyboard functions (Giannis Adamopoulos)
  • Fix applications that depend on KF_DLGMODE flag. Added the Alt-Tab intercept for win32k. (James Tabor)
  • Fix get atom name so seh will not lock it up. (James Tabor)
  • [WIN32K] - Fix translating syskeys to characters. Fixes user32:input winetest. (Rafał Harabień)
  • [WIN32K] - Rename xxxDoHotKeyStuff to co_UserProcessHotKeys on smiley request (Rafał Harabień)
  • [WIN32K] Use 64 byte bitmap for keystate instead of 256 elements array (like Windows) Fix GetAsyncKeyState lowest bit meaning. See MSDN Call low level keyboard hook before setting async key state for keys which distinguish between left and right hand. Fixes user32:GetKeyState apitest failure Improve IsHotKey and delete GetHotKey function to avoid code duplication Support WIN key in hotkeys code instead of keyboard.c (Rafał Harabień)
  • [WIN32K] Rename gKeyStateTable to gafAsyncKeyState: it's a proper name Fix accelerators regression (Rafał Harabień)
  • [WIN32K] Do not call UserSetCursor in MsqCleanupMessageQueue because it uses current thread queue instead of queue in cleanup (they can be different). See issue #6530 for more details. (Rafał Harabień)
  • [win32k] SetActiveWindow should call SetWindowPos without SWP_NOACTIVATE parameter (Giannis Adamopoulos)
  • [WIN32K] use GreCreateBitmapEx in IntSetDIBits as well to handle RLE images. Fixes bug 6388 (Timo Kreuzer)
  • [WIN32K] Remove a debug breakpoint that was not supposed to be comitted. (Timo Kreuzer)
  • [WIN32K] Fix handling of RLE compressed bitmaps in NtGdiStretchDIBitsInternal, by using similar code as in NtGdiSetDIBitsToDeviceInternal calling GreCreateBitmapEx instead of NtGdiCreateDIBitmapInternal. Fixes bug 6168. (Timo Kreuzer)
  • [WIN32K] - Don't send unicode characters in WM_CHAR to ascii windows (Rafał Harabień)
  • [WIN32K] Fix AltGr keys sending WM_SYSCHAR* messages Improve debug messages (Rafał Harabień)
  • [win32k] SetActiveWindow must send the WM_WINDOWPOSCHANGING message (Giannis Adamopoulos)
  • [win32k] Fix RECTL_bPointInRect to work like PtInRect Use the fixed RECTL_bPointInRect in DIB_XXBPP_FloodFillSolid to fix a bugchek See issue #6437 for more details. (Giannis Adamopoulos)
  • [WIN32K] Handle allocation failure. (Amine Khaldi)
  • [WIN32K] Fix memory leak (Pierre Schweitzer)
  • [win32k] Replace long file headers with short headers Minor cleanup (Giannis Adamopoulos)
  • [win32k] Remove a defined but not used definition of POINT_IN_RECT (Giannis Adamopoulos)
  • [win32k] Merge changes from the themes branch. These changes will introduce test regressions for class functions and for TrackMouseEvent. The changes in the class functions are needed in order to let comctl32 register its own versions of built in controls. This is a hack and will be removed when we properly support class versions. The second change that causes test regressions is in TrackMouseEvent and it is needed in order to fix WM_MOUSELEAVE messages that were completely broken and not tested at all by wine's test suite. (Giannis Adamopoulos)
  • [win32k] Fix several issues detected by static code analysis (Giannis Adamopoulos)
  • [WIN32K] Improve formating of input.c and keyboard.c (Rafał Harabień)
  • [WIN32K] Don't use magic type values for IntMapVirtualKeyEx calls Fix a typo in ERR (Rafał Harabień)
  • [WIN32K] Rename gQueueKeyStateTable to gKeyStateTable as it has nothing to do with msg queues. They have their own table Use KS_*_BIT defines instead of magic values (Rafał Harabień)
  • [WIN32K] Rewrite co_IntTranslateAccelerator to make it readable Add back support for 0x80 flag as an accelerator table end (Rafał Harabień)
  • [WIN32K] Fix possible buffer overrun Use KEY_VALUE_PARTIAL_INFORMATION field instead of magic offset to data (Rafał Harabień)
  • [WIN32K] Simplify accelerators code a bit Set last error in NtUserCopyAcceleratorTable Fix user32:resource winetest regression (Rafał Harabień)
  • [WIN32K] Fix user32:monitor winetest failures (ClipCursor bugs) Protect functions in accelerator.c with SEH (Rafał Harabień)
  • [WIN32K] Avoid invalid memory write. See issue #5969 for more details. (Jérôme Gardou)
  • [win32k] SetWindowPos should send WM_MOUSEMOVE only when the window under the cursor changes Fixes moving winamp window (Giannis Adamopoulos)
  • [win32k] merge r53215 and r53221 from themes branch Fixes drawing apps that use SetWindowRgn and also fixes a gdi object leak See issue #1239 for more details. (Giannis Adamopoulos)
  • [WIN32K] Missed this one. (Amine Khaldi)
  • [WIN32K] Remove some useless asserts considering cLockObj is DWORD. (Amine Khaldi)
  • [win32k] revert r53355. it's changes are not needed as wine's spy channel is better, and this time we will get rid of all unwanted changes ( my previous commit did not fix all unwanted changes) (Giannis Adamopoulos)
  • [WIN32K] Revert r53487 (and as a result 53490) as per Giannis (the committer) suggestion. It broke testbot and he couldn't look into it at the moment. (Amine Khaldi)
  • [WIN32K] The previous commit (r53487) mentioned a revert, but the patch didn't reflect it. Spotted by Victor. (Amine Khaldi)
  • [win32k] revert an unwanted change from r53355 (Giannis Adamopoulos)
  • [win32k] Move some definitions to a better place (Giannis Adamopoulos)
  • [Win32k] remove some more unneeded functions (Giannis Adamopoulos)
  • [win32k] Clean up win32k headers even more remove INTERNAL_CALL and use NTAPI instead remove several unneeded definitions remove several unneeded header inclusions (Giannis Adamopoulos)
  • [Win32k] Move function out of the stub file. (James Tabor)
  • [Win32k] Implement FlashWindowEx without the state verification test via global atom and window properties list. Pass all but two in win:test_FlashWindowEx. Add missing atom's and global thread information pointer, based on patch from bug 5655. (James Tabor)
  • [win32k] Fix some debug output (Giannis Adamopoulos)
  • [win32k] Add one more debug channel to trace EVERY message that is sent to user mode Add some more traces here and there (Giannis Adamopoulos)
  • [win32k] Remove some unneeded and misleading debug prints when parsing debug channels Switch NtUser to the new debug system (Giannis Adamopoulos)
  • [WIN32K] Fix amd64 build (Timo Kreuzer)
  • [WIN32K] Fix return value of IntDesktopOkToClose, spotted by Cameron. (Timo Kreuzer)
  • [WIN32K] Simplify the loop to remove the THREADINFO from the PROCESSINFO's list when cleaning up (Timo Kreuzer)
  • [WIN32K] use the correct pool tags for PROCESSINFO and THREADINFO get rid of RETURN macro usage misc code cleanup (Timo Kreuzer)
  • [WIN32K] Fix a typo. Spotted by Giannis Adamopoulos (Rafał Harabień)
  • [WIN32K] Make UserDrawCaption much more simple and compatible with Windows. It supports now icon given in parameter places text and icon in valid position. Fixes Start button icon in explorer_new. Uncomment two function in win32k. I used one of them in UserDrawCaptionText and seems to work Add debug print to NtGdiPatBlt (Rafał Harabień)
  • [WIN32K] Fix possible thread reference leak when calling hook Fix possible memory corruption if hook is unexpectedly removed Cleanup hooks a bit Fixes bug #1567 (explorer ghost in taskmgr) (Rafał Harabień)
  • [WIN32K] Do not go beyond the MouseHistoryOfMoves[] bounds. Fixes a crash in Win32k. (Dmitry Gorbachev)
  • [win32k] Implement support for debug channels. When a process starts, win32k will parse DEBUGCHANNEL environment variable in order to enable or disable specific debug channels or levels for this application. This gives us the ability to activate from user mode extended debug output for one application, for one component, for one level. In order to use the new debugging system we have to use the macros ERR, FIXME, WARN and TRACE. These are not used yet but shortly every DPRINT/DPRINT1 call will be converted to use the new macros Define several win32k channels that will be used in the future Remove some hacky definitions of the new macros (Giannis Adamopoulos)
  • [Win32k] DbgLogEvent: replace EVENT_TYPE by LOG_EVENT_TYPE (spotted by GCC 4.6). (Dmitry Gorbachev)
  • [WIN32K] Fix MIN_SYSCALL_NUMBER and MAX_SYSCALL_NUMBER (Timo Kreuzer)
  • [WIN32K] Don't clip siblings in co_WinPosSetWindowPos when window has no WS_CLIPSIBLINGS style. Fixes ReactOS about box. Commented out line with WS_CLIPCHILDREN support needs more work Simplify co_WinPosSetWindowPos a bit (Rafał Harabień)
  • [Win32k] Fixed mouse tracking. See bug 6257. (James Tabor)
  • [win32k] Arch, stop breaking msvc build already (Giannis Adamopoulos)
  • [Win32k] Fix hot tracking but does not clear it properly. See bug 6257. Ported NC_HandleNCHitTest from wine, will sync User32 later. (James Tabor)
  • [WIN32K] Revert r51139. Fixes incorrect reading of all REG_MULTI_SZ values See issue #6295 for more details. (Rafał Harabień)
  • [WIN32K] Ops, remove DbgBreakPoint (Rafał Harabień)
  • Silence unwanted debug messages added in r52136 (Rafał Harabień)
  • Add ShowingCursor counter and CursorObject to message queue and use them when moving mouse. They are not globally in Windows. (Rafał Harabień)
  • [WIN32K] Check if window object still exist in proper place Send WM_MOUSEMOVE message if mouse is over appearing window (Rafał Harabień)
  • [WIN32K] Fix memory leak (Rafał Harabień)
  • [WIN32K] Add some more debug output in case of a failed ASSERT (Timo Kreuzer)
  • No need to do extra work when the process starts. (James Tabor)
  • [WIN32K] Add a comment about alignment for GreCreateBitmap Make bits really 32bit aligned Remove unused variable (Timo Kreuzer)
  • [WIN32K] Fix the bitmap alignment issue that caused broken scrollbar pattern (Timo Kreuzer)
  • [win32k] Return the correct menu bar rect in GetMenuBarInfo (Giannis Adamopoulos)
  • [win32k] Fix braindead logic that caused GetMenuItemRect to fail in every case (Giannis Adamopoulos)
  • [win32k] Dereference the SMWP object before deleting it. Fixes handle leak (Giannis Adamopoulos)
  • [win32k] When we run out of user handles show count of event and SMWP objects (Giannis Adamopoulos)
  • [win32k] Implement counting user objects per process (Giannis Adamopoulos)
  • re-add the assert, bug 5320 is still here, my fault, sorry. (Gabriel Ilardi)
  • Bug 5320 was closed. (James Tabor)
  • [Win32k] Move hook call close to the keyboard message post. This allows the registering of Aly keys before the hook call. This fixes all but one GetKeyState Api Test. Fix GetAsync/KeyState error codes and the return for GetAsyncKeyState. See http://appdb.winehq.org/objectManager.php?sClass=version&iId=8516&iTestingId=13644 Fix TranslateMessage, check for window and use the window pti for re-posting to message queue. Peeking hardware queue should be the same as other Peek queue. (James Tabor)
  • [Win32k] Move up the chain to convert F10 to system key mode before going into the queue, so when in menu tracking, the message can be removed and processed, see bug 1009. (James Tabor)
  • [win32k] Handle font height == 0 also in TextIntGetTextExtentPoint (bug 5305) Remove hardcoded font height (11) and replace it with the default font height from the device context by Timo. (Gabriel Ilardi)
  • [Win32k] Fix TranslateAccelerator and added the missing routines. User32 wine msg test_accelerators works. Test application: http://www.transmissionzero.co.uk/computing/win32-apps-with-mingw/ (James Tabor)
  • [WIN32K] Fix ShowingCursor counter interpretation. Values >= 0 means cursor is shown, values <0 means cursor is hidden. Fixes few user32:cursoricon tests. (Rafał Harabień)
  • [Win32k] Fix shift key handling, see bug 6175. (James Tabor)
  • [WIN32K] Do not reference current thread before sending message to it. It was causing thread to be a ghost if ExitThread was called in WndProc. Hold only UserRefObjectCo reference on windows when sending messages to them. (Rafał Harabień)
  • [WIN32K] Redraw desktop after change of system colors. Inspired by Wine (Rafał Harabień)
  • [Win32k] Patch by Erich HooverSend: WM_SYSKEYDOWN and WM_SYSKEYUP when the 'F10' key is used. See wine bug 19383 and http://www.winehq.org/pipermail/wine-patches/2009-October/079871.html for details. Update key state for all hardware postings. (James Tabor)
  • [Win32k] Update key state when key and hardware is set before the event set. This allows input.c to post and set key states. (James Tabor)
  • [Win32k] Clear and set send erase background bit when sending WM_ERASEBKGND and if return zero reset the bit. This prevents a message loop in riched20 when calling GetUpdateRect. Spotted by Michael Martin. (James Tabor)
  • [win32k] Store the initial desktop handle and use it evey time a new thread is created. (Giannis Adamopoulos)
  • [win32k] Use ObCloseHandle instead of ZwClose when closing window station handles (Giannis Adamopoulos)
  • [win32k] Call update_input_key_state correctly (Giannis Adamopoulos)
  • [WIN32K] Don't use exclusive locks for pens Don't try to delete the window update region Don't ignore pid in GreIsHandleValid Check if handle is valid before deleting it in DC_Cleanup Silence a DPRINT (Timo Kreuzer)
  • Fix release build (Timo Kreuzer)
  • [WIN32K] Rewrite of the GDI handle manager The old handle manager used a completely retarded spinlock in combination with KeDelayExecutionThread() for both exclusive and shared locks. This is probably the most uneffective algorithm possible. It was also duplicating code everywhere and it was a overall mess It is now replaced with a lock-free reference counter for shared locks and a pushlock for exclusive locks. -> Better performance and scalability. Allocate user mode object attributes from the new gdi pool. This way, we don't need any caching, since the pool serves as a cache. Its also much faster and uses much less memory. Allow object allocations of different size, instead of fixed size from a table. This way a single allocation can take care of actual needs. Allow allcoating objects without a handle and insert them into the handle table later Properly synchronize the process GDIHandleCount. Now gdiview and taskmanager show the correct number of gdi handles. Implement a new event tracking system, that is capable of tracking all reverences and locks of objects and pool allocations to help track possible leaks Make sure that all objects of a process are deleted in cleanup Make sure all usermode memory allocations are freed, when cleaning up the process pool. Make sure that each object type is using the correct type of lock (either shared or exclusive, not a mixture) Fix some object / reference leaks Lots of inferface improvements Use global variables for certain things instead of members in the mapped gdi handle table Make IntSysCreateRectpRgn create a region without a handle Fix detection od source and mask use in GreStretchBltMask Use GDIOBJ_bLockMultipleObjects in NtGdiCombineRegion to avoid possible deadlocks Fix NtGdiAbortPath to reset DCPATH_ACTIVE flag in the dc and only bail out on error, instead of always Replace DC_AllocateDcAttr and DC_AllocDcAttr with DC_bAllocDcAttr using the new user mode pool Remove DCU_SyncDcAttrtoUser and DCU_SynchDcAttrtoUser. Those functions were unused and didn't do anything useful anyway, Replace IntGdiSetDCOwnerEx and DC_SetOwnership with GreSetDCOwner, remove unused NoSetBrush parameter Replace GDIOBJ_bValidateHandle and IsObjectDead with GreIsHandleValid Chage GDIOBJ_bLockMultipleObjects: pass object type, return a BOOL, whether all objects could be locked, cleanup on failure (Timo Kreuzer)
  • [WIN32K] Don't send messages from or to a thread in cleanup. Fixes possible deadlock. (Timo Kreuzer)
  • [Win32k] Fix KsStudios actions with Hooks. (James Tabor)
  • [win32k] Fix a case when a window is created and we don't have a monitor created yet. (This can happen when we may attempt to use gui on demand) (Giannis Adamopoulos)
  • [win32k] Acquire ownership of the window clip region, before deleting it. Fixes a region leak. (Timo Kreuzer)
  • [Win32k] Need this file too. (James Tabor)
  • [WIN32K] Don't try to lock a dcs clip region if its NULL (Timo Kreuzer)
  • [Win32k] This should fix the dcattr leaked when deleting a DC, See bug 6119. (James Tabor)
  • [Win32k] Replace patch point for forced DC removal. See bug 6119. (James Tabor)
  • [WIN32K] Use shared locks for surfaces and palettes (Timo Kreuzer)
  • [WIN32K] Set ulShareCount of static palettes to 1, so they won't get dereferenced to 0 (Timo Kreuzer)
  • [win32k] GetKeyboardState and SetKeyboardState should use the thread key state and not the global key state (Giannis Adamopoulos)
  • [win32k] Improve IS_KBD_MESSAGE macro. Should fix some more tests (Giannis Adamopoulos)
  • [win32k] Do not distinguish left and right keys in WH_KEYBOARD and key messages. Based on wine Fixes several tests (Giannis Adamopoulos)
  • [WIN32K] Implement gdi pool. An allocator for user mode gdi object attributes. The old method allocated a 4k page for every object, wasting 4k physical memory and 64k address space (allcoation granularity) The new allocator creates a per process pool for each object attribute type. Allocations are done from "sections" that start with 1 page and grow dynamically up to 64k, if neccessary a new section is allocated. This will use about 1/10 of memory for dc attributes and 1/512 for brush attributes. Also allocation is way faster. Caching object attributes is not neccessary anymore. (Timo Kreuzer)
  • [WIN32K] Revert part of 37148. One FontGDI is used for fonts with different sizes. Do not cache font metrics then and instead calculate them every time when needed. It fixes spacing in menus if some application uses default GUI font with size other than 11. See issue #4106 for more details. (Rafał Harabień)
  • [WIN32K] Use shared locks for surfaces and palettes (Timo Kreuzer)
  • [WIN32K] Use shared locks for surfaces and palettes Unimplement NtGdiEngUnlockSurface, it was wrong (Timo Kreuzer)
  • property svn:executable removed (Matthias Kupfer)
  • [win32k] Move dereferencing of the MessageQueue from co_UserDestroyWindow to co_UserFreeWindow. A reference is added to the MessageQueue for all windows created.co_UserFreeWindow is called for all windows and needs to be where the dereferencing of MessageQueue occurs. This fixes NonPagedPool memory leak. See bug 6112 for more info. (Michael Martin)
  • [Win32k] Fix implementation of message callbacks, now callbacks can be called across processes. Fix some comments. (Michael Martin)
  • [GDI32] DPtoLP/LPtoDP functions should return TRUE even if they get 0 or less points or if pointer to points is invalid. See gdi32:DPtoLP apitest. Fixes 24 gdi32:DPtoLP apitests. (Rafał Harabień)
  • [Win32k] PATCH: Arty's fixes based on CMake branch testing. Just the timer code. See bug 6103. (James Tabor)
  • [Win32k] Revert parts of 51283, thanks to Giannis for setting me straight on SetCursorPos and without breaking setting the Track window for TrackMouseEvent. Pass the new SetCursorPos, and wine test_TrackMouseEvent and input test_mouse_ll_hook tests. (James Tabor)
  • [win32k] Rewrite GetKeyState based on wine. Now it's results are based on whether or nor the message queue has processed a keyboard message and not the actual state of the keyboard.c TODO: ensure it works corectly and use this implementation in most other places in win32k when we need to check the state of a key. To ensure nothing breaks, this change affects only GetKeyState (Giannis Adamopoulos)
  • [Win32k] Only call hooks and check if Win32Thread is in cleanup if the windows procedure is being called. Set DispatchingListEntry.Flink to NULL. The real fix for bug 5580. This bug may be the cause of other crashes experienced by users just before loading desktop. Found by rafalh. (Michael Martin)
  • [Win32k] Added more missed mouse injection flag and extra data being passed in and from set cursor position. Wine mouse low level hook msg tests now see it and check the validity of the hook message. (James Tabor)
  • [Win32k] Fix crash in msg test_interthread_message test. Noticed it once and not sure how to track it. (James Tabor)
  • [Win32k] co_IntSendMessageWithCallBack: Insert the message into the messagequeue before attempting to wake the queue. Probably fixes bug 5580. Remove the use of MSQ_SENTNOWAIT that was used to determine if messagequeues needed dereferencing. Instead use the SenderQueue member of the message. Do not close the NewMessagesHandle member of the messagequeue in IntDereferenceMessageQueue. The last reference on a messagequeue could be released by a thread belonging to a process other than the on that created the handle. Also the creating process could already be long gone. Instead close this handle in MsqDestroyMessageQueue which is in the thread/process that created the handle. Problem noticed by smiley. Revert change done in 51254. James you are indeed correct. Testing shows that the WM_PARENTNOTIFY message is not sent when the program is exiting. (Michael Martin)
  • [Win32k] The Reak fix to unfocused explorer minimize hang, spotted by R3dDr4g0n <vins8920@hotmail.com>. (James Tabor)
  • [Win32k] Fix to unfocused explorer minimize hang, spotted by R3dDr4g0n <vins8920@hotmail.com>. (James Tabor)
  • Revert 51255 that was committed on accident. The patch is not ready yet. (Michael Martin)
  • [Win32k] co_MsqDispatchOneSentMessage: After calling the windows procedure check if the message was a callback. If so place the message into the calling MessageQueue. Also check if the current MessageQueue is the calling MessageQueue in which case dont call the Windows procedure but call the callback routine. SendMessageCallback is now properly implemented. Remove the use of MSQ_SENTNOWAIT and instead use the SenderQueue and CallBackSenderQueue members to determine if the MessageQueues need to be dereferenced. Modify co_MsqSendMessage to accept more parameters so that it can handle Notification, Callback and Internal messages. These changes make this function more complex but removes duplicate code in messages.c and move the handling for all queued messages in one location. co_IntSendMessageWithCallBack: If the callback is for the same Message Queue, call it vice queuing it. Insert the message into the MessageQueue before waking the thread to handle the message. Should fix bug 5580. (Michael Martin)
  • [Win32k] Do not block calling thread when sending WM_PARENTNOTIFY messages. Fixes hang at end of user32 winetest for msg. (Michael Martin)
  • [Win32k] Fix GetPeekMessage apitest that was broken when fixing the last two post quite message test. (James Tabor)
  • [Win32k] Fix DDE test crash. it's a band-aide. Fix the last two post quite message test, all pass now. (James Tabor)
  • [Win32k] Fix the return checks for co_MsqWaitForNewMessages, now the wait_idle test no longer randomly crash, also tested the testkbd check from bug 3212. Setup co_MsqWaitForNewMessages to act like get message, checking QS bits and dispatching send messages if queued. Added desktop hit test data point, now the new track mouse timer code works. Not yet committed. (James Tabor)
  • [win32k] Simplify co_IntWaitMessage In co_IntGetPeekMessage, call co_MsqWaitForNewMessages instead of co_IntWaitMessage when we need to wait for a new message. co_IntWaitMessage calls co_IntPeekMessage again without removing messages. The problem is that processing some messages produce other messages or hooks even though the message must not be removed. As a result some messages like WM_NCHITTEST were received twice by the application Should fix bug 3232 (Giannis Adamopoulos)
  • [Win32k] Fix wine post message test, corrected the peek message window selection. Add a check for dead windows and new message queue flags. Other miscellaneous fix ups. (James Tabor)
  • [Win32k] Move IntGdiSetBrushOwner and IntGdiSetRegionOwner out of the export section. (James Tabor)
  • [WIN32K] Addendum to r51188: set last error, when overflow check fails. Fixes test regression. (Timo Kreuzer)
  • [WIN32K] Move IntGdiSetBrushOwner to brush.c Move IntGdiSetDCOwnerEx to dclife.c Move IntGdiSetRegionOwner to region.c (Timo Kreuzer)
  • [WIN32K] Disable system service hooks, that got accidentally enabled. (Timo Kreuzer)
  • [WIN32K] Make GdiTableSection a static variable and use it only from gdiobj.c (Timo Kreuzer)
  • [WIN32K] Fix parameter check and buffer probing in NtUserSetSysColors (Timo Kreuzer)
  • [Win32k] Finish object attribute support part 2. Removed DC from the list, ReactOS handles this in a different way. Comment out Brush and Pen switches until proper handling is implemented. (James Tabor)
  • [WIN32K] wcsncpy -> RtlStringCbCopyW (part 4/x) Avoid unneeded allocation (Rafał Harabień)
  • [WIN32K] wcsncpy -> safe api (part 3/x) (Rafał Harabień)
  • [WIN32K] Fix GDITAG_LDE/TAG_LDE mess (Rafał Harabień)
  • [WIN32K] Forgotten in r51139... (Rafał Harabień)
  • [WIN32K] Change wcsncpy to safe functions (part 2/x) (Rafał Harabień)
  • [WIN32K] Make sure strings returned by internal function RegQueryValue are NULL terminated (Rafał Harabień)
  • [WIN32K] Remove a useless if in cliprgn.c Patch by Thomas Faber <thfabba at gmx dot de> See issue #6015 for more details. (Rafał Harabień)
  • [WIN32K] Check for failed allocations when creating window See issue #6021 for more details. (Rafał Harabień)
  • [win32k] Simplify BuildWindowStationNameList a bit (Giannis Adamopoulos)
  • Fix gdi32:SetSysColors apitest (Rafał Harabień)
  • Make sure rectangle is not inverted in Rectangle function Fixes gdi32:Rectangle apitest (Rafał Harabień)
  • Set last error to ERROR_INVALID_PARAMETER in NtGdiGetRandomRgn if invalid hdc is given Fixes gdi32:GetClipRgn apitest (Rafał Harabień)
  • [Win32k] Setup RectInRegion for internal use. (James Tabor)
  • [win32k] Fix disconnecting from a desktop when IntSetThreadDesktop gets NULL parameter (Giannis Adamopoulos)
  • Fix a miss var for testing. (James Tabor)
  • [Win32k] Move the appropriate code from window.c to winpos.c, decreasing the size in window.c. Adding proper checks for maximums and desktop/message windows. Started MinMaximize, experimental, based on an idea and boredom, needing a good test case. Also away of troubleshooting our window positioning with minimize and maximizing windows. (James Tabor)
  • [Win32k] Fix sign for BeginDeferWindowPos(-1) test, see bug 6025. (James Tabor)
  • [win32k] SetThreadDesktop: Actually set hdesk in PTHREADINFO Now GetThreadDesktop doesn't return 0 (Giannis Adamopoulos)
  • [win32k] Partly revert r51031 (Giannis Adamopoulos)

Control panel applets

  • [TRANSLATION] Improved Czech resources. (Kamil Hornicek)
  • [main.cpl] Add the icons for the fonts and administrator tools in the same id and index with windows (Giannis Adamopoulos)
  • [INETCPL] Add missing security propsheet to Polish translation. Should be synced to WINE. Spotted by Adam Stachowicz. (Rafał Harabień)
  • [INETCPL] Add Polish language to build. Spotted by Adam Stachowicz (Rafał Harabień)
  • Converting POLISH localisation strings to UTF-8. Part 4/5: dll/cpl converted Tested on rbuild/cmake (Olaf Siejka)
  • [input] Fix an Italian typo spotted by r3ddr4g0n (Gabriel Ilardi)
  • [USRMGR] Free buffer instead of freeing pointer to buffer (Rafał Harabień)
  • [CONSOLE] Fix french resource file name. Dedicated to HeisSpiter & JanusMagnus. (Sylvain Petreolle)

APPWIZ

  • [APPWIZ] Fix memory leaks (Pierre Schweitzer)
  • [appwiz] Allow passing directories to the create new shortcut wizard See issue #6169 for more details. (Gregor Schneider)

DESKTOP

  • [DESK] - Improve Polish translation (Rafał Harabień)
  • [desk.cpl] Apply a wallpaper and desktop background only when they have changed Fixes changing desktop background to the color defined by the theme (Giannis Adamopoulos)
  • [DESK] Fix duplicated entries in screensaver selector. Patch by Carlo Bramix <carlo dot bramix at libero dot it>. See issue #6533 for more details. (Rafał Harabień)
  • [DESK] Fix memory & resource leaks (Pierre Schweitzer)
  • Sync the recent changes from the themes merge to all languages, sync all the settings from the english rc file to all other languages. Fix some sizes and lengths (Daniel Reimer)
  • [desk.cpl] try to fix cmake build (Giannis Adamopoulos)
  • [desk.cpl] revert unintended change (Giannis Adamopoulos)
  • [desk.cpl] Merge from themes branch (Giannis Adamopoulos)
  • [DESK] Fix MS VC compilation. Spotted by Michael Martin Remove unused definition (Rafał Harabień)
  • [DESK] Fix #6262: each new applied color scheme increase the window title height by one Don't read REG_QWORD directly to DWORD variable (Rafał Harabień)
  • [desk cpl] Properly apply system metrics (Giannis Adamopoulos)
  • [DESK] Fix scheme selection in Czech, Greek, French, Hungarian, Italian, Dutch, Polish, Swedish and Ukrainian languages. (Rafał Harabień)
  • [DESK] Fix & complete French translation (Pierre Schweitzer)
  • [DESK] Fix a bug when after changing color scheme Apply and then OK is clicked. Background color was restored to the previous one in this case. Spotted by Gabriel Ilardi. (Rafał Harabień)
  • [DESK] French translation by Jeisson Toscano. I adjusted some dialogs to make text fit in. See issue #6028 for more details. (Gabriel Ilardi)
  • [DESK.CPL] Activate "Show window contents while dragging" button for all languages present. Spotted by Piotr_hh See issue #6002 for more details. (Olaf Siejka)

INTL

  • [INTL] Restrict exports according to the spec file. (Amine Khaldi)

SYSDM

  • [SYSDM] Display all hardware profiles Add the hardware profile copy dialog to most languages. Disable the Up, Down, Property, Copy, Rename and Delete buttons in the Hardware Profiles dialog. (Eric Kohl)
  • [SYSDM] Handle the user wait interval. (Eric Kohl)
  • [SYSDM] Increase size of the homepage link control to correctly show the complete focus rectangle. Patch by Elton Chung (elton328 at gmail dot com) See issue #5038 for more details. (Thomas Faber)
  • [SYSDM] Revert r53934, this is a false positive from cppcheck. Spotted by Pierre. (Amine Khaldi)
  • [SYSDM] Fix a memory leak. (Amine Khaldi)
  • [SYSDM] - Improve polish translation of virtual memory dialog (Rafał Harabień)
  • [SYSDM] Don't give UINT to printf if %I64u is used Minor improvements See issue #6501 for more details. (Rafał Harabień)
  • Edijs Kolesnikovics < terminedijs AT yahoo DOT com> Show GPL licence from beginning See issue #6278 for details. (Matthias Kupfer)

POWERCFG

  • [POWERCFG] Sync with the english resource file to fix some misplaced controls. (Kamil Hornicek)

Win32™ Applications

  • [TRANSLATION] MSPaint: Add Swedish translation by Michael Wu (bug #6695). Sync all translation files with American English file (bug #6700). (Dmitry Gorbachev)
  • [SPIDER] Use a Yes/No message box for "Quit the current game?" instead of Ok/Cancel. Patch by Lee Schroeder See issue #6589 for more details. (Thomas Faber)
  • [SOL/SPIDER] Reduce the scope of some variables. (Amine Khaldi)
  • [TRANSLATION] French and Spanish translation for doskey. Initial Patch by Jeisson Toscano. Spanish Fixes by vicmarcal. Bug 6509 (Sylvain Petreolle)
  • Bye rBuild. Here the new path to use this script with a cmake build. (Daniel Reimer)
  • A bunch of Italian Translation Updates by Yurij Vodkin. Version Updates. (FireFox, Thunderbird, Bittorrent, SeaMonkey, SumatraPDF) (Daniel Reimer)
  • [ROUTE] Fix memory leaks (Pierre Schweitzer)
  • Update rapps Database (Daniel Reimer)
  • [DEVMGMT] Add the treeview and resize data. It now somewhat resembles an app. (Ged Murphy)
  • [DEVMGMT] Some main window work. (Ged Murphy)
  • [DEVMGMT] Add the resources (Ged Murphy)
  • [DEVMGMT] Start a new device manager to test the reactos ATL code. Also, the old one sucks big time and was quickly hacked together. (Ged Murphy)
  • [Telnet] Fix build with GCC 4.7. (Dmitry Gorbachev)
  • [TRANSLATION] base/application UTF-8 conversion patch by Elton Chung; minor corrections by me; See issue #6333 for more details. (Olaf Siejka)
  • [RAPPS/SOLITAIRE/MSPAINT] Resize controls so text fits in Improve Polish translations [MSPAINT] Use GET_X/Y_LPARAM macros instead of LOWORD/HIWORD in mouse messages because coordinates can be negative (Rafał Harabień)
  • [EVENTVWR] remove some unneccessary casts simplyfy code use sizeof(PVOID) instead of sizeof(PEVENTLOGRECORD) (Timo Kreuzer)
  • [SNDREC32] Fix about box icon Improve polish translation (Rafał Harabień)
  • [SERVMAN] When a service gets started, read the start parameters from the edit control and pass them to StartService. Disable the start parameter edit control while a service is running. (Eric Kohl)
  • Add the Original Bit Torrent Client to rapps. (Daniel Reimer)
  • UTF 8 fixes by Igor Paliychuk (Daniel Reimer)
  • [MSPAINT] Fix Brush function declaration. (Amine Khaldi)
  • [SPIDER] Designate spider.h as a precompiled header and use it as one. (Amine Khaldi)
  • Updated rapps database by Igor Paliychuk. FF4 was removed, FF5 was added instead. Thunderbird 5 was added, too. Rest was updated to the newest version. Maybe we should add http://source.winehq.org/patches/data/74067 from wine to get ftp support fixed. (Daniel Reimer)
  • [TRANSLATION] Add newlines at the end of rc files. Fixes MSVC build; (Olaf Siejka)
  • [TRANSLATION] Simplified Chinese translations by Song Fuchang, bug #6365. (Dmitry Gorbachev)
  • [TRANSLATION] Remove simplified chinese translation patch from previous commit. It didn't apply correctly; (Olaf Siejka)
  • [TRANSLATION] Fix translation crediting by Elton Chung; Solitaire and Spider swedish translation by Ronny Svensson; Multiple applications translated to simplified chinese by Song Fuchang; (Olaf Siejka)
  • [MSPAINT] Select selection tool after pasting from clipboard (Rafał Harabień)
  • [MSPAINT] Fix MSVC warnings (Rafał Harabień)
  • [DOSKEY] Fix copy paste bug. Patch by r3ddr4g0n (Timo Kreuzer)
  • use application specific icon for small AND large icon instead of predefined one (otherwise alt-tab shows default icon) (Matthias Kupfer)
  • [MSVC] Final fix for MSVC build of base\application resources (Olaf Siejka)
  • [MSVC] Arch Blackmann should know not to remove empty lines at the end of resource/rsrc files in base\applications. Should fix MS Linker fatal error RC1004 for modules affected. (Olaf Siejka)
  • Converting POLISH localisation strings to UTF-8. Part 1/x - base/applications. pl-PL.rc conversion; add PRAGMA, required by MSVC to rsrc/modulename/resource.rc, instead of individual localisation files. Localisation files already converted to UTF-8 will be placed at the end, after PRAGMA. Tested on rbuild/cmake/nmake (Olaf Siejka)
  • [msconfig/freeldr] Load freeldr.ini first chance, boot.ini on second chance Make freeldr list box scrollable Fix some FIXME's [msgconfig/system] Implement parsing and displaying system.ini contents See issue #1986 for more details. (Gregor Schneider)
  • [RAPPS] Fix Swedish translation (Rafał Harabień)
  • [RAPPS] Merge rapps changes from CMake branch (Rafał Harabień)
  • [DEVMGMT] Set the focus for the treeview when the main window gets the focus. Select the root item after the devices tree has been built. These changes enable the user to navigate the device tree using the keyboard. (Eric Kohl)
  • [eventvwr] Reduce flicker (Giannis Adamopoulos)
  • [rapps] Don't use CS_HREDRAW and CS_VREDRAW for the main window Reduces flicker (Giannis Adamopoulos)
  • [MSCONFIG] Fix typo in startuppage.h, this fixes build without compilation units. (Sylvain Petreolle)
  • [paint] Fill the whole miniature window by using stretchblt (Gregor Schneider)
  • [paint] Hide selection window and clear undo history when starting a new painting See issue #6226 for more details. (Gregor Schneider)
  • [paint] Implement cut function See issue #6224 for more details. (Gregor Schneider)
  • [ping] Return 1 if an error occurs during parameter parsing or socket setup See issue #6206 for more details. (Gregor Schneider)
  • firefox4 added (Matthias Kupfer)
  • [EVENTVWR] Italian and Spanish translation updates. (Gabriel Ilardi)
  • [CHARMAP] Translation update [EVENTVWR] Translation update (Olaf Siejka)
  • [EVENTVWR] Replace some hard-coded strings by resource strings. (Eric Kohl)
  • [RAPPS] Change color of description richedit when system colors are changed (Rafał Harabień)
  • [APPLICATIONS] Properly support WM_SYSCOLORCHANGE in msconfig, mspaint, rapps, regedit and regedit (Rafał Harabień)
  • [SNDVOL32 & TASKMGR] Properly support WM_SYSCOLORCHANGE (Rafał Harabień)
  • Add Python 3 (Matthias Kupfer)
  • [rapps] Jeisson Toscano: French update + some Spanish translation updates (with corrections from vicmarcal and me) See issue #6012 for more details. (Gabriel Ilardi)
  • Swedish translation of calcs, charmap, doskey, more, dxdiag, fontview, kbswitch, logoff, magnify and mmc Swedish translation adjustments of calc and find Fix comments in magnify Patch by Jan Blomqvist Kinander (JaixBly [at] spray [dot] se) (Olaf Siejka)
  • [ipconfig] Respect the size parameter in the LoadStringAndOem helper function, fixes "ipconfig /?" See issue #6146 for more details. (Gregor Schneider)
  • [EVENTVWR] Change string resource id prefix from IDC to IDS. Add missing string resources. (Eric Kohl)
  • [RAPPS] Swedish translation by Jan Blomqvist-Kinander. (Aleksey Bragin)
  • [SNDVOL32] Italian and Spanish translation updates. (Gabriel Ilardi)
  • Radek Liska <radekliska AT gmail DOT com> Czech translations for sndrec32 and sndvol32. See issue #6098 for details. (Matthias Kupfer)
  • [DOSKEY/SNDREC32] Activate polish translations. Patch by Adam Stachowicz. (Amine Khaldi)
  • [SNDVOL32] Remove 'E' (Johannes Anderwald)
  • Partial revert, as explained on ML. Sry... (Daniel Reimer)
  • Sync all resource files with the English one. Translate the new Dialog in the German one. Normally we use BEGIN and END, no {} DIALOG -> DIALOGEX (Daniel Reimer)
  • [SNDVOL32] Fix more subtle bugs: Check with long line name if the current connection is activated when adding lines to dialog or when adding lines to the preferences dialog Use the temporary preferences context when writing the line settings Don't destroy the mixer when the preferences dialog is closed. the new mixer will be used for the application when the preferences are changed Pass the current selected line to the preferences dialog (Johannes Anderwald)
  • [SNDVOL32] Redraw window with correct size. Window height was growing after changing preferences. (Sylvain Petreolle)
  • [SNDVOL32] Update french translation. (Sylvain Petreolle)
  • [SNDVOL32] Fix mute switch control style (Johannes Anderwald)
  • [SNDVOL32] Always write line states configuration values in one step Fixes the problem when old line state settings were not present Advantage is that it is faster and sndvol32 now works in ReactOS (Johannes Anderwald)
  • [SNDVOL32] Add english resources for sndvol32 Enjoy ;) (Johannes Anderwald)
  • [SNDVOL32] Implement retrieving current volume level and mute state and set the dialog controls on startup Remove last line separator from GUI Implement updating slider / switch control when another application modifies volume settings Implement writing current selected lines settings into registry when the preference dialog is closed Implement helper functions which receive / set volume level Sndvol32 is now fully functional and has been tested in Windows XP SP3 TODO: implement support for setting volume balance (left - right slider) TODO: Resources have not yet been commited (Johannes Anderwald)
  • [SNDVOL32] Implement loading of resources and parsing the dialog template in memory Store the created windows in an array Implement destroying of controls when mixer is changed / line selection is altered Implement generating layout for each new line Implement setting line name Resources have not yet been commited Sndvol32 is not yet functional (Johannes Anderwald)
  • [SNDVOL32] Set Control variable to null, which prevents that mixer controls being assigned to another line when the current line does not have any controls. Bug was highlighted when opening the property window. In that case sndvol32 frees the previous setting, so all mixer lines are also getting freed including their controls, which caused a double free in the case the line did not have any controls assigned. (Johannes Anderwald)
  • [PING] Fix crash if option, which needs number is on the end of command line Get rid of GetULONG and GetULONG2 functions. MS doesn't check input so precisely Command line options can be preceded by "/" See issue #6047 for more details. (Rafał Harabień)
  • Update the Applications to the recent Versions. Add the dlls the C,VB etc Runtime Packs will install into the description. Remove goOO from rapps. (Daniel Reimer)
  • Jeisson Toscano: Some Spanish translation updates plus some corrections added by elhoir and me. Bugs: 5891, 5892 and 5897. See issue #5891 for more details. (Gabriel Ilardi)
  • [RAPPS] Change all ftp:// links to http:// ones. The changes to the fragile Mozilla links should be reverted as soon as our/Wine's URLDownloadToFileW function finally supports FTP URLs. Vote for Wine Bug 26445 (http://bugs.winehq.org/show_bug.cgi?id=26445) to get this fixed! (Colin Finck)
  • [RAPPS] Due to a lack of implemented feature in DLL, switch FF3.6 download links to HTTP. Site given by Mozilla Foundation. (Pierre Schweitzer)
  • [RAPPS] Add a "mIRC 6" entry to have a working IRC client while keeping "mIRC 7" for testing. (see bug 6005) Keep in mind that the automatically downloaded app database is the same for previous releases, current releases and Trunk, so just changing the version for the release wouldn't have been a solution. Add SumatraPDF 1.2 (working) to the app database. Patch by Vincenzo Cotugno (vins820 at hotmail dot com), German translation by me. Change all .txt files to svn:eol-style CRLF, these are target files which should have Windows line-endings. (Colin Finck)
  • [RAPPS] Added French translation for all the available applications. Only strings that other translators have translated are translated here. Regarding OOo 2.4, as 2.4.3 version isn't available in French (wut?!), it has been set to 2.4.2. If anything wrong, let me know. (Pierre Schweitzer)

Calc

  • [CALC] - Fix buttons misalignment. Patch by Fulea Stefan. (Rafał Harabień)
  • [CALC] Reposition controls to match WinXP calculator Improve Polish translation (Rafał Harabień)
  • [CALC] Workaround linking to msvcrt in rbuild, patch by Alexander Yastrebov See issue #6358 for more details. (Gabriel Ilardi)
  • [TRANSLATIONS] fix the code_page-#pragma issue for Chinese add Chinese to UTF-8 section remove default #pragma at end of Romanian file (Matthias Kupfer)
  • patch by Song Fuchang (0xfc) <sfc_0 AT yahoo DOT com DOT cn>: [TRANSLATIONS] add Simplified Chinese translation for calc #pragma code_page(65001) added in zh-CN.rc (needs to be reviewed) See issue #6319 for details. (Matthias Kupfer)
  • [calc] Fix degree to radians conversion See issue #3018 for more details. (Gregor Schneider)
  • [CALC] Swedish translation by Jaix Bly. See issue #6113 for more details. (Olaf Siejka)

CharMap

  • [charmap] Carlo Bramini (carlo dot bramix at libero dot it): Fix font zoom when scrolling and changing fonts Optimize font zoom drawing See issue #3500 for more details. (Gregor Schneider)
  • [charmap] Carlo Bramini: implement a skeleton for the charmap advanced view, Italian translation included German translation added by myself See issue #6065 for more details. (Gregor Schneider)

Command Prompt

  • [CMD] replace FILE IO with Memory IO functions for batch files Patch by HansH (hans at atbas dot org) See issue #5807 for more details. (Timo Kreuzer)
  • [CMD] Fix a typo in dir that led to omitting the last character in the AM/PM time format. See issue #6061 for more details. (Gabriel Ilardi)

Explorer

  • [EXPLORER-NEW] - Improve start menu initialization a bit so it shows what failed (Rafał Harabień)
  • [EXPLORER] Fix incorrect virtual function override of Entry::do_context_menu. CID 1630 (Thomas Faber)
  • [EXPLORER] - Close thread handle for startup processes in Run and RunOnce keys. Fixes cmd.exe ghost on first bootcd explorer startup. (Rafał Harabień)
  • [EXPLORER] Remove not needed comment (Pierre Schweitzer)
  • [EXPLORER] Remove dead code/file. ReactOS has its own implementation of those functions. The file was even not built any longer. (Pierre Schweitzer)
  • [EXPLORER_NEW] Fix rectangle copypasta in ITrayWindowImpl_RegLoadSettings. Patch by Elton Chung (Thomas Faber)
  • [EXPLORER] Make the Network connections start menu item open the net connections folder. Trim a misleading message. (Kamil Hornicek)
  • [EXPLORER] - If Start Menu is open, WIN key hides it (Rafał Harabień)
  • [EXPLORER] Implement support for hotkeys for run, show desktop and logoff currently it also causes the startmenu to open, like with win-E, but this is a different bug See issue #1512 for more details. (Timo Kreuzer)
  • [explorer] Somehow our shell now expects the icon of My Computer to be the resource icon %SystemRoot%\Explorer.exe,0. Change the resource id of My computer icon to 0 to fix the wrong icon on the desktop (Giannis Adamopoulos)
  • [EXPLORER-NEW] Fix memory leak (Pierre Schweitzer)
  • [Explorer] Link with libmingw32. (Dmitry Gorbachev)
  • [EXPLORER] Fix copypasta bug (Olaf Siejka)
  • [explorer] Reduce flicker (Giannis Adamopoulos)
  • [explorer] Run the dialog window in a new thread patch by Mikhail Denisenko <denisenkom AT gmail DOT com> See issue #3339 for more details. (Gabriel Ilardi)
  • [explorer] Remove debug outputs added in r51524 (Gregor Schneider)
  • [EXPLORER] Properly support WM_SYSCOLORCHANGE (Rafał Harabień)
  • [explorer] Return 1 when explorer terminates. This value lets winlogon know that explorer terminated without errors and it doesn't need to restart (Giannis Adamopoulos)
  • [explorer] Use the shell default auto-arrangement positioning. Aloow using custom positioning when configured. This fixes the positioning of icons of the desktop to look like windows (Giannis Adamopoulos)
  • [EXPLORER_NEW] Use ReactOS registry key for ReactOS features Patch by Edijus Kolesnikovičs, terminedijs@yahoo.com (Johannes Anderwald)

Notepad

  • [NOTEPAD] - Characters in ANSI windows are fixed so finally mark notepad as unicode (Rafał Harabień)
  • [NOTEPAD] enable Japanese resource file (Timo Kreuzer)
  • [NOTEPAD] Revert 51497, this is really a hack, sorry. (Gabriel Ilardi)
  • [NOTEPAD] Patch by Edijs Kolesnikovics: Write default font, weight and point size when run for the first time. That's what ms notepad does too. See issue #5305 for more details. (Gabriel Ilardi)

Regedit

  • [REGEDIT] Prevent buffer overflow when creating the display value for a value of type REG_MULTI_SZ. Prevent processing excess data when preparing a value of type REG_MULTI_SZ for editing. (Roel Messiant)
  • [REGEDIT] Add ability to parse and display REG_RESOURCE_LIST values. (Eric Kohl)
  • [regedit] Reduce flicker (Giannis Adamopoulos)
  • [REGEDIT] Polish translation update (Olaf Siejka)
  • [regedit] Prompt before importing from the command line. Inform the user about successful import from the command line and the menu. Updated Spanish & Italian translations. See issue #6230 for more details. (Gabriel Ilardi)
  • [regedit] Fix formatting. No code changes. (Gabriel Ilardi)
  • [regedit] Process WM_COMMAND button click messages in the local window as well See issue #5927 for more details. (Gregor Schneider)

Screensavers

  • [3DTEXT] Don't assume reg key exists Make rotation independent of computer speed (Rafał Harabień)

Taskmgr

  • [TASKMGR] Simplify opening settings registry key (Rafał Harabień)
  • [TASKMGR] Convert Japanese resource file to UTF-8 and fix a typo (Timo Kreuzer)
  • [TASKMGR] Don't compare NTSTATUS to NO_ERROR. Use NT_SUCCESS macro instead. Spotted by dmex. (Rafał Harabień)
  • [taskmgr] When terminating an application use 1 as exit code. This is used by Task Manager in windows. It also prevents explorer from restarting in windows Disable redrawing the list of processes while the list is updated. Fixes flicker in windows (Giannis Adamopoulos)
  • potential memory problem fixed, obsolete assignment removed (Matthias Kupfer)
  • remove obsolete object handling (Matthias Kupfer)

Winmine

  • [winine] Read also the shift key state patch by Carlo Bramini. See issue #6238 for more details. (Gabriel Ilardi)

Wordpad

Win32™ Libraries

  • [MSHTML][SHDOCVW] Initialize OLEINPLACEFRAMEINFO.cb for IOleInPlaceSite::GetWindowContext. Fixes explorer "Web" button assert. Already applied upstream. See issue #6011 for more details. (Thomas Faber)
  • [user32] When themes are active and the text of a window changes, we should send the WM_NCUAHDRAWCAPTION message instead of drawing the window directly ( which will result painting a classic caption on the themed window) Fixes explorer window that is repainted with a classic style when a subfolder is opened (Giannis Adamopoulos)
  • [TRANSLATION] serialui, setupapi, shimgvw and tapiui romanian translation, patch by Stefan Fulea; See issue #6558 for more details. (Olaf Siejka)
  • [MSPORTS] Implement device removal. (Eric Kohl)
  • [MSPORTS] Implement ComDBResizeDatabase. (Eric Kohl)
  • [UNICOWS] doesn't have an entry point (Jérôme Gardou)
  • [RC files] don't declare unicode strings, newer wrc doesn't like it, and it's (hopefully) useless. (Jérôme Gardou)
  • Remove shell32_new, the real one is in the branch (Ged Murphy)
  • [MSI/URLMON] Guard wine attributes against widl. (Amine Khaldi)
  • [UNICOWS] Link to msvcrt for proper crt imports. Fix msvc build. (Amine Khaldi)
  • [WINDOWSCODECS] Add wincodec_i.c to sources now it links (Timo Kreuzer)
  • [WINDOWSCODECS] Add typeof.h for MSVC. Now windowscodecs compiles, but doesn't link yet. (Timo Kreuzer)
  • [NETEVENT] Set correct entry point. Fix msvc build. (Amine Khaldi)
  • [MSPORTS] update polish translation (Olaf Siejka)
  • [MSPORTS] Finish the serial port settings dialog. (Eric Kohl)
  • [MSPORTS] Implement ComDBGetCurrentPortUsage. (Eric Kohl)
  • [MSPORTS] Protect the COM database from concurrent access. (Eric Kohl)
  • [MSPORTS] Try to read the PortName registry value and get the port number from the name. Determine the port number for parallel ports the same way we determine the port number for serial ports, except for the use of the com port database. (Eric Kohl)
  • [MSPORTS] Store the PortName value in the registry. Please note that SetupDiCreateDevRegKey and SetupDiOpenDevRegKey are broken because they do not open or create the 'Device Parameters' subkey of a device instance key but the device instance key itself. (Eric Kohl)
  • Real fix of the broken build. (Eric Kohl)
  • [MSPORTS] Determine serial port names COM1-4 and parallel port names LPT1-2 from their resources. Other serial and parallel are still named COMx and LPTx. (Eric Kohl)
  • [MSPORTS] Remove reference to non-existing files and unused libraries. (Eric Kohl)
  • [SHELL32_NEW] Add the shell32 code which has been converted into C++ from the existing C code. This is a straight drop using the code Andrew sent to me, it's currently unchanged and untested All C++ conversion work to date was carried out by Andrew Hill <ash77 at reactos dot org> (Ged Murphy)
  • Add the Windows version of SHIShellFolder_EnumObjects, but compile it out as per Wine's notes Move the scope in the reg script (Ged Murphy)
  • [NETEVENT] Forgot this change (Timo Kreuzer)
  • [NETEVENT] Remove netevent.c and netevent.spec because netevent.dll is a resource-only dll. Set entrypoint to 0. (Eric Kohl)
  • [Unicows] Import wine unicows for Adobe Reader 7.1.0. See bug 5560. (James Tabor)
  • [ADVAPI32/LSASRV] Implement LsaLookupNames2 in advapi32.dll. Implement LsarLookupNames3 in lsasrv.dll as a mock-up which returns a hard-coded user account (Administrator). This fixes several wine tests. (Eric Kohl)

ACTXPRXY

  • [ACTPRXY] Enclose midl-incompatible declarations as widl-only. Fixes actxprxy MSVC build. (Amine Khaldi)
  • [ACTCXPRXY] we have an entry point, provided by rpc proxy data (Jérôme Gardou)

ADVAPI32

  • [ADVAPI32] Hackfix RtlGenRandom to be slightly less dependent on the current time, while staying very un-random. Should fix services problems (no joke) due to non-unique RPC UUIDs See issue #6542 for more details. (Thomas Faber)
  • [ADVAPI32] Sync CryptEnumProvidersW. Fixes some HKEY leaks. See issue #6237 for more details. (Amine Khaldi)
  • [ADVAPI32] Pass service start arguments to ANSI services too. Clean up the service start code. (Eric Kohl)
  • [ADVAPI32] QueryServiceLockStatusA/W: If lpLockStatus is NULL or cbBufSize is less than sizeof(QUERY_SERVICE_LOCK_STATUSA/W) pass a pointer to an buffer to RQueryServiceLockStatusA/W. (Eric Kohl)
  • [ADVAPI32] QueryServiceConfig2A/W: Handle small or null buffer properly. (Eric Kohl)
  • [ADVAPI32] Fix QueryServiceStatusEx. (Eric Kohl)
  • [ADVAPI32] Fix indentation. No code change. (Eric Kohl)
  • [ADVAPI32] Use consistent debugging macros (Wine's). (Amine Khaldi)
  • [ADVAPI32] Fix and EnumDependentServices[A/W]: If lpServices is NULL or cbBufSize is less than sizeof(ENUM_SERVICE_STATUS/W) pass a pointer to an internal status buffer to REnumDependentServicesA/W. (Eric Kohl)
  • [ADVAPI32] Fix EnumServiceGroupW and EnumServiceStatus[A/W]: If lpServices is NULL or cbBufSize is less than sizeof(ENUM_SERVICE_STATUS/W) pass a pointer to an internal status buffer to REnumServiceGrouW or REnumServiceStatusA/W. (Eric Kohl)
  • [ADVAPI32] Fix EnumServicesStatusEx[A/W]: If lpServices is NULL or cbBufSize is less than sizeof(ENUM_SERVICE_STATUS_PROCESS) pass a pointer to an internal status buffer to REnumServicesStatusExA/W. Adding 'in' and 'unique' attributes in the idl file is NOT an option because this is not compatible with Windows. Check the InfoLevel. (Eric Kohl)
  • [ADVAPI32] Implement EnumServiceGroupW. (Eric Kohl)
  • [ADVAPI32] Copy RegQueryValueExA from Wine. Fixes 24 winetests fails which appeared after r51222. They are caused by calling RegQueryValueExA with buffer size set to large value. Old implementation was allocating new buffer with specified size (it was failing) and using unicode function. New implementation use given buffer size only when coping data. See issue #6105 for more details. (Rafał Harabień)
  • [ADVAPI32] Fix bug in RegQueryValueExA, which causes buffer overflow Fixes systeminfo in ReactOS See issue #6050 for more details. (Rafał Harabień)

AVIFIL32

  • [AVIFIL32] Encode avifile_Bg.rc in UTF-8 without BOM. (Amine Khaldi)
  • [AVIFIL32] Merge resources back into 1 file (Timo Kreuzer)

BROWSEUI

  • [BROWSEUI] Reduce the scope of a variable. Comment out some unused code. Initialize some member variables in the respective constructors. (Amine Khaldi)
  • [BROWSEUI] Set /EHa- option. Fixes MSVC build (Timo Kreuzer)
  • [BROWSEUI] Fix rc syntax (Timo Kreuzer)
  • Remove svn:mergeinfo property (Timo Kreuzer)

CFGMGR32

  • [CFGMGR32] Add forwarders for functions that have been implemented in setupapi.dll. Remove forwarders which are not exported by cfgmgr32.dll. (Eric Kohl)

COMCTL32

  • [comctl32] merge r53027 that missed the merge from themes branch fixes floods of debug output by CombineRgn (Giannis Adamopoulos)
  • [comctl32] Do not subclass user32 controls when themes are disabled.This is a temporary hack bacause it turns out that subclassing causes problems. When it is fixed this will be reverted. This change means that in order to make themes work properly, the user has to reboot after enabling. (Giannis Adamopoulos)
  • [comctl32] Merge from the themes branch Partly sync themed button handling with wine (Giannis Adamopoulos)
  • [COMCTL32] Fix compilation with MSVC (Timo Kreuzer)
  • [COMCTL32] Sync Rebar to Wine 1.3.19 Properly support WM_SYSCOLORCHANGE in Rebars Update comctl32_ros.diff (Rafał Harabień)
  • [COMCTL32] Properly support WM_SYSCOLORCHANGE in ListView controls with default background. Should be sent to Wine (tm) (Rafał Harabień)
  • [COMCTL32] Sync listview to Wine 1.3.17 Set background and text color before calling DrawFocusRect. Those colors are used by monochrome brush during painting. Tested this function in Windows and our implementation is correct. Wine has DrawFocusRect not correctly implemented and that's why they don't see this bug. Should be sent to wine (tm). (Rafał Harabień)

CRTDLL

  • [CRTDLL] Free the correct variable in the failure case (Cameron Gutman)
  • [CRTDLL] Comment out forwarded exports, where the target exports don't exist. Fixes MSVC build (Timo Kreuzer)

CRYPT32

  • [CRYPT32] remove version.rc from the CMakeLists.txt, since its included in crypt32.rc already (Timo Kreuzer)

DEVMGR

  • Don't assume WM_DESTROY is last message - listview sends notification after it. Confirmed in Windows 7. See issue #6026 for more details. (Rafał Harabień)

DHCPCSVC

DWMAPI

GDI32

  • [Gdi32] Do the same for rbuild, link to msvcrt. (James Tabor)
  • [GDI32] Partial winesync to reduce code duplication and fix a crash in gdi32 font winetest. (Kamil Hornicek)
  • [GDI32] Improve GdiAllocBatchCommand formatting and fix MSVC warnings (Timo Kreuzer)
  • [GDI32] remove useless check. (Jérôme Gardou)
  • [GDI32] Finish object attribute support. (James Tabor)
  • [GDI32] Fix gdi32:CreatePen apitest (Rafał Harabień)
  • [GDI32] Patch by Thomas Faber: GetTextExtentPoint32 must not assume null termination of lpString. (James Tabor)
  • Fix for r51111. Fixes build... (Rafał Harabień)
  • [GDI32] GetTextExtentExPointW doesn't fail if nMaxExtent is negative (only ANSI version does) Fixes gdi32:GetTextExtentExPoint apitest (Rafał Harabień)

GLU32

  • [GLU32] Fix linking in msvc build. Remove /OPT:NOWIN98 linker flag. (Amine Khaldi)
  • [GLU32] Properly fix compiler warning, by initializing the integer array with zeros. Remove GNUC #ifdef, introduced in rev 42970. Patch by Markus (thechief at praise dash land dot de) See issue #6179 for more details. (Olaf Siejka)

IPHLPAPI

  • [IPHLPAPI] Fix a massive memory leak of our entire TDI entity ID database after each call to getInterfaceInfoSet Fix another massive leak of our entire TDI interface table after each call to getInterfaceInfoByIndex and getInterfaceInfoByName Fix some uninitialized variable warnings Explorer no longer leaks horrendous amounts of memory (about 1 MB per minute even without network activity) when the network status icon is in the system tray (Cameron Gutman)

ITSS

KERNEL32

  • [KERNEL32]: Implement BasepComputeProcessPath. [KERNEL32]: Replace BasepGetDllPath with BasepComputeProcessDllPath. Paths now work right. This is step 1. SearchPatchW is next (BasepComputeProcessPath), followed by CreateProcessInternalW (BasepComputeProcessExePath). Then all paths will work right. (Alex Ionescu)
  • [KERNEL32]: Fix many bugs in BasepInitailizeEnvironment (and rename to BasePushProcessParameters): Depending on how big the full path is, either the application path or the full path should be used. Size the buffers correctly, too. If the caller did not specify a window title, should use the app path as title. Clear the current directory handle if InheritHandles is false. Correctly handle CREATE_NEW_PROCESS_GROUP and CREATE_NEW_CONSOLE. Check the failure codes of many APIs that we just assumed returned success. STARTF_USEHOTKEY | STARTF_SHELLPRIVATE should be checked when inheriting console handles. Handle 1MB and 16MB reservation requests. Bugs remain: ImageSubsystem not written, and failure will leak. To be fixed later. (Alex Ionescu)
  • [KERNEL32] Properly fix GetEnvironmentVariableW and set error in case of RtlInitUnicodeStringEx failure (Pierre Schweitzer)
  • [KERNEL32] Make sure GetEnvironmentVariableW does not use uninitialized variable Fix GetDllLoadPath not terminating string with NULL if PATH env variable is not defined. Fixes hang on manual INF selection in New Device wizard. See issue #6480 for more details. (Rafał Harabień)
  • [KERNEL32]: Refactor Beep such that opening the device happens first -- this makes sure the error codes are generated in the same order/conditions as on Windows. [KERNEL32]: Add notes on how DeviceIoControl and Beep should support TS scenarios in the future (nod to Ged). [KERNEL32]: Make Beep call NotifySoundSentry, and implement the latter, which sends a message to CSRSS w.r.t the previous commit. Obviously we are not anywhere close real sound sentry support, but at least part of the path is there now. (Alex Ionescu)
  • [KERNEL32] No need to init string to empty This will make Coverity happier (Pierre Schweitzer)
  • [KERNEL32]: Fix a bug when converting EXECUTE access. (Alex Ionescu)
  • [KERNEL32] Do not fail in CreateFileMappingW if write or execute access is requested (Thomas Faber)
  • [KERNEL32]: Fix various bugs in the file mapping APIs, mainly related to lack of EXECUTE mappings and incorrect error codes. (Alex Ionescu)
  • [KERNEL32]: Show some love to Get/SetCurrent/Windows/SystemDirectoryA/W. Only SearchPathW and loader stuff remains to be fixed. Also handle SetCurrentDirectory when directory is already current. [KERNEL32]: Rewrite the tape APIs to use a single generic function, and in the process support pending I/O now, which wasn't handled before. [KERNEL32]: Moved the interlocked APIs to synch.c instead of dllmain.c (Alex Ionescu)
  • [KERNEL32] Fix wrong L usage in new code. (Pierre Schweitzer)
  • [KERNEL32]: Fix multiple, multiple, bugs in the last commits. Path is now down to 12 failures (way lower than before the streak), most unrelated to actual path APIs. (Alex Ionescu)
  • [KERNEL32]: Move the "curdir.c" APIs into path.c as well, as they are Path APIs. No code changes (just formatting and moving to DPRINTs). (Alex Ionescu)
  • [KERNEL32]: Give the same treatement to SearchPathA. Also add a comment on why exactly the A<->W conversion has to be more complex than what Wine was attempting. (Alex Ionescu)
  • [KERNEL32]: Fix infinite loop in FindLFNorSFN_U. [KERNEL32]: Reimplement GetFullPathNameA to implement similar functionality and checks as the other reimplemented A functions, especially w.r.t ANSI/OEM and DBCS strings. (Alex Ionescu)
  • [KERNEL32]: Fix some bugs in previous two commits (thanks Thomas). (Alex Ionescu)
  • [KERNEL32]: Rewrite GetLong/ShortPathNameW away from Wine. Some changes: Windows allows the two input buffers to overlap. This means we have to be very careful with copying (and always use RtlMoveMemory) -- the old function was not handling this at all. We also have to handle cases where we need to make our own local buffer copy. Length validation is more stringent now. Checking for short/long path names wasn't correct w.r.t ANSI file mode, as it was calling Rtl which assumes OEM. Shortcuts were taken while parsing slashes and path separators. We now call into Rtl to support this, and also support unlimited slashes (note that \\??\c:\\\windows\\\\system32 is actully a valid path, for example). ErrorMode is now correctly set for the thread, to avoid "Insert floppy" or "Close CDROM bay door" errors as we are using the FindFile API. Correct LastError is set where appropriate. An application compatibility flag is now supported. (Alex Ionescu)
  • [KERNEL32] Use the correct buffer length in GetDllDirectoryA Do not always return FALSE from BasepIsCurDirAllowedForPlainExeNames Some cosmetic fixes (Thomas Faber)
  • [KERNEL32]: Reimplement GetLong/ShortPathNameA to get rid of Wineisms and fix the fact they were forcing paths to MAX_PATH when doing A->W->A conversion. The correct behavior is to call W to get the true, real path length (no matter how big), and then deal with the sizing issues when downconverting back to A. (Alex Ionescu)
  • [KERNEL32]: The ANSI/OEM stubs were never initialized... it's a miracle this ever worked, probably because someone added a #define to at least one of them to hack it into working. Initialize the value snow, fixes boot. (Alex Ionescu)
  • [KERNEL32]: Move path-related APIs away from dir.c, and into path.c instead. [KERNEL32]: Fix SetDllDirectoryW: Fail if ";" is in path Use RtlCreateUnicodeString instead of manual string management -- if the allocation fails, do not free the current base directory string! Older API would always free the current directory string, even if setting up the new one failed. Don't assume lpPathName is filled out, it can be NULL, and this means the DLL directory should be cleared. [KERNEL32]: Fix SetDllDirectoryA as above, additionally use RtlInitAnsiStringEx to protect against overflow, and use Basep8BitStringToUnicodeString, to add support for OEM paths instead of assuming ANSI. [KERNEL32]: GetDllDirectoryW: correctly NULL-terminate and check lengths [KERNEL32]: GetDllDirectoryA: same as above, plus use BasepUnicodeString* APIs to correctly support OEM paths instead of assuming ANSI. [KERNEL32]: NeedCurrentDirectoryForExePath(A/W): call internal BasepIsCurDirAllowedForPlainExeNames instead of converting from A->W, this isn't needed. [KERNEL32]: GetFullPathNameW just calls RtlGetFullPathName_U, no extra checks/etc are needed. Next steps are GetFullPathNameA, GetShort/LongPathNameA, GetShort/LongPathNameW, hoping to bring the wine test failures closer to zero. (Alex Ionescu)
  • [KERNEL32]: Actually properly support ANSI vs OEM SetFileAPI instead of assuming Unicode->ANSI for most things. Note this just adds support, there's still many wine-synched APIs that are using the FileNameA2W hacks and similar, which force ANSI. But it's a step in the right direction. (Alex Ionescu)
  • [KERNEL32] Fix c/p mistake. Brought to you by Vincenzo Cotugno (Pierre Schweitzer)
  • [KERNEL32] Fix MSVC build (Thomas Faber)
  • [KERNEL32]: Fix a missing "~" in GlobalReAlloc and LocalReAlloc, which caused a flag never to be removed. (Alex Ionescu)
  • [KERNEL32]: Implement CreateJobSet [KERNEL32]: Acquire SE_INCREASE_WORKING_SET_PRIVILEGE in SetInformationJobObject if needed. [KERNEL32]: Only do conversion of Process Priority Class in SetInformationJobObject if the limit flags request it. [KERNEL32]: Add missing size checks in QueryInformationJobObject. [KERNEL32]: Use RtlEncode/DecodePointer to protect the top level exception handler pointer, as done on NT 5.2+ [KERNEL32]: Fix IsBadRead/WritePtr to use the correct page size from the CSRSS shared section. [KERNEL32]: Fix IsBad(String)Read/WritePtr loops [KERNEL32]: SetErrorMode now handles SEM_NOALIGNMENTFAULTEXCEPT. [KERNEL32]: Set/GetErrorMode do not set LastError on failure. [KERNEL32]: RaiseException can simply use memcpy instead of copying argument by argument. [KERNEL32]: Minor formatting changes. (Alex Ionescu)
  • [KERNEL32] Fix a copypasta. See issue #6635 for more details. (Kamil Hornicek)
  • [KERNEL32]: BaseNamedObjectDirectory should work on demand, instead of on startup. Also, support cases when the thread is doing impersonation, to make sure it uses its real session ID and security access. Also, support cases when the BNO directory is not available, and use the BNO\Restricted directory instead (we should have our CSRSS create it). (Alex Ionescu)
  • [KERNEL32]: Fix multiple issues in BaseCreateStack: StackLimit was set incorrectly. Code was not using BaseStaticServerdata, but querying NT instead. Fix memory leak in failure case. StackCommit and StackReserved values were not aligned correctly. Windows Server 2003+ feature of "Guaranteed Stack Commit Size" was not respected. Some math was screwy. Failure to get NT headers was not handled. (Alex Ionescu)
  • [KERNEL32]: Rearrange and rename some base functions. [KERNEL32]: Fix some error cases in the helper string functions. [KERNEL32]: Implement BasepIsRealtimeAllowed. [KERNEL32]: Don't need RPL_MASK when setting up the CONTEXT, this now matches what Windows sets up (and also helps us validate the kernel is doing the right thing). (Alex Ionescu)
  • [KERNEL32] Fix GetEnvironmentStringsA/W. See issue #6633 for more details. (Kamil Hornicek)
  • [KERNEL32]: In failure cases we should return one more byte for ANSI_NULL as well. Also fix another length check. (Alex Ionescu)
  • [KERNEL32]: Fix many bugs and confusion regarding string sizes in previous commit. (Alex Ionescu)
  • [KERNEL32]: Rewrite (in some cases, simply clean-up) environment handling functions for better string handling, error codes, and performance. Part of ongoing kernel32 work. (Alex Ionescu)
  • [KERNEL32] Use ERROR_SUCCESS instead of 0. Dedicated to Pierre. (Sylvain Petreolle)
  • [KERNEL32] CreateFile has to set last error on success. Fixes kernel32:file test cancellation. (Sylvain Petreolle)
  • [KERNEL32]: Move some definitions to header file. [KERNEL32]: MoveBasepLocateExeLdrEntry to utils.c. (Alex Ionescu)
  • [KERNEL32] Reapply the ConvertThreadToFiberEx changes from r52804, they were lost in r52805. Confirmed by Alex. See issue #6394 for more details. (Thomas Faber)
  • [KERNEL32] Properly copy image name in TH32CreateSnapshotSectionInitialize. Fixes truncated file names in kernel32:toolhelp test (Thomas Faber)
  • [kernel32] Do not force the hard error dialog to appear. As a result, calling SetErrorMode now really prevents the hard error dialog from appearing. (Giannis Adamopoulos)
  • [KERNEL32] Simplify overcomplicated function CreateHardlinkW(), and SEHify it. (Pierre Schweitzer)
  • [KERNEL32] Fix buffer overrun (Pierre Schweitzer)
  • [KERNEL32] Fix wrong sizeof usage (Pierre Schweitzer)
  • [KERNEL32] do not access memory that might have been freed (Jérôme Gardou)
  • [KERNEL32] CreateFile: If the specified file or device does not exist, the function fails and the last-error code is set to ERROR_FILE_NOT_FOUND. Spotted by Claudiu and Vic. (Amine Khaldi)
  • [KERNEL32]: Fix the handle APIs. DuplicateHandle was pretty broken w.r.t console handles, and the Query/Set APIs didn't handle those at all. (Alex Ionescu)
  • [KERNEL32]: Cleanup and fix the Global* APIs for heap allocation. Mostly parameter check fixing, checking for errors and failure cases, as well as adding SEH (no real functionality improvement, other than fixing a security issue in GlobalLock). [KERNEL32]: Rename hProcessHeap to BaseHeap, and only allow the heapmem.c access to this (change find.c to use RtlGetProcessHeap() like everyone else). (Alex Ionescu)
  • [KERNEL32]: Cleanup GetSystemInfo and friends, fix some bugs, mainly removing support for unsupported CPUs/architectures, and adding support for PROCESSOR_ARCHITECTURE_AMD64. Did some refactoring to support WoW64 in the future as well. (Alex Ionescu)
  • [KERNEL32]: Cleanup and fix bugs in the TimerQueue implementation... mainly related to wrong/incorrect parameter checks and error codes. (Alex Ionescu)
  • [KERNEL32]: Cleanup and fix multiple bugs in the Version APIs. Code is neater, more efficient, and more compatible. (Alex Ionescu)
  • [KERNEL32] Temporarily comment out FLS APIs which are unimplemented to fix FF 5 and Opera setup (Cameron Gutman)
  • [KERNEL32]: Don't try to acquire any privileges for now, as the API is unimplemented (restore back to original/broken behavior). (Alex Ionescu)
  • [KERNEL32]: Cleanup of virtual memory functions. [KERNEL32]: VirtualAllocEx should build a SEH frame. [KERNEL32]: VirtualAllocEx should make sure the address given is not lower than the system's allocation granularity. (Alex Ionescu)
  • [KERNEL32]: Rewrite almost all the time APIs to do their own conversions instead of calling other APIs (which sometimes have slightly different checks). [KERNEL32]: Add support for terminal services timezone redirection (one more for GedMurphy's pipe dream) in all the time functions. [KERNEL32]: Make the time functions acquire SE_SYSTEMTIME_PRIVILEGE when needed (and release it). [KERNEL32]: Fix the DOS time conversion routines. [KERNEL32]: Add missing validations to some time functions. [KERNEL32]: Implement IsTimeZoneRedirectionEnabled. [KERNEL32]: Reimplement GetSystemTimes to support MP, and treat parameters as optional. (Alex Ionescu)
  • [KERNEL32]: Now that we have the BaseStaticServerData initialized, don't build the \ReactOS and \ReactOS\System32 paths by hand: use the ones we have. [KERNEL32]: Same goes for BaseCachedSysInfo. Use the BaseStaticServerData->SysInfo instead now. [KERNEL32]: Don't assume that the BNO directory is called BaseNamedObjects (this won't be true once GedMurphy's dream of multi-session support comes true) -- instead, use the one from BaseStaticServerData. (Alex Ionescu)
  • [KERNEL32]: Fix DPRINT1s. (Alex Ionescu)
  • [KERNEL32]: Arch, you have to initialize your strings first! (Alex Ionescu)
  • [KERNEL32]: Fix querying the CSDNumber and RCNumber, as this seems to be a bug (no valid data was found on Windows). (Alex Ionescu)
  • [KERNEL32]: Fix potential buffer overflow. (Alex Ionescu)
  • [KERNEL32]: Define the BASE_STATIC_SERVER_DATA structure that BASESRV shares with KERNEL32 on Windows. In Windows, each CSR client/server pair can share such data through the PEB's ReadOnlyStaticServerData array. In ReactOS, this is not (yet) implemented, so if we don't have this data, kernel32 builds a "fake" copy instead. This "fake" copy will still be useful though as it'll let kernel32 cache some data (per-process). With proper CSRSS support, we could cache it per-system, but at least this is a start. (Alex Ionescu)
  • [KERNEL32]: Fix the spec/pspec files to match 100% the exports on NT 5.2's Kernel32.dll [KERNEL32]: Remove, add, fix, stub functions where necessary to handle these new/modified exports. (Alex Ionescu)
  • [KERNEL32]: WTSGetActiveConsoleSessionId should return SharedUserData->ActiveConsoleId instead of having its own global. (Alex Ionescu)
  • [KERNEL32] release PEB lock for each code path (Jérôme Gardou)
  • [KERNEL32]: Ironically enough, the "unimplemented" SetMessageWAitingIndicator function, which failed with sTATUS_NOT_IMPLEMENTED.... is how Windows implements this API! Mark it as so. (Alex Ionescu)
  • [KERNEL32]: Implement three new APIs: CreateSocketHandle, GetHandleContext, and SetHandleContext. Please let this be my GSoC project. It was very hard to implement these APIs. I have full 6-week plan on how these APIs were implemented and tested. Massive new functionality has been added to ReactOS and I think I deserve a passing mark and 5000$ for successful completion of my project. Thank you. (Alex Ionescu)
  • [KERNEL32]: Get rid of SetLastErrorByStatus and use BaseSetLastNTError instead. SetLastErrorByStatus was defined to forward to some Rtl function which I don't even think exists in Server 2003, and worse, bypassed the SetLastError behavior of allowing a g_dwLastErrorToBreakOn code to be set. (Alex Ionescu)
  • [KERNEL32]: Simplify QueryPerformanceCounter/Frequency and bring in line with ReactOS coding standards. (Alex Ionescu)
  • [KERNEL32]: Simplify CreateMemoryResourceNotification and bring up to ReactOS coding standards. [KERNEL32]: Bug: QueryMemoryResourceNotification should set ERROR_INVALID_PARAMETER and fail if the Handle is NULL or INVALID_HANDLE_VALUE. [KERNEL32]: Fix ULONG<->BOOL cast in QueryMemoryResourceNotification as well. (Alex Ionescu)
  • [KERNEL32]: Get rid of RestoreLastError, it's a forward. [KERNEL32]: SetLastError should only set the error code if it's different from the one already set. This is not about optimization: it's compatibility with hardware data breakpoint behavior. (Alex Ionescu)
  • [KERNEL32]: Fix RemoveHandles, CloseAllProcessHandles...again. (Alex Ionescu)
  • [KERNEL32]: User-mode Debugging fixes. Bug: RemoveHandles was checking for process AND thread handle match, instead of OR. Bug: CloseAllProcessHandles and RemoveHandles's processing loop was buggy with its unlinking and re-use of nested ThreadData. Bug: ProcessIdToHandle was requesting more process rights than needed. Bug: Some ULONG<->BOOL conversions were dirty (as in, could result in values of 2 or higher). Bug: In WaitForDebugEvent, During CREATE_PROCESS_DEBUG_EVENT, the wrong handle was saved as the thread handle. Bug: In WaitForDebugEvent, all events returned TRUE. Instead, only valid events should return TRUE, and non-existing events should return FALSE. Add some asserts. Simplify MarkThreadHandle and MarkProcessHandle. Simplify OutputDebugStringW. (Alex Ionescu)
  • {KERNEL32] move BaseFiberStartup to fiber.S add FPO debug info for MSVC builds remove excessive END directives (fixes msvc build) add a stub for amd64 (Timo Kreuzer)
  • Thanks to Timo Kreuzer for discovering what led to these: [KERNEL32]: BasepInitializeContext was not creating a correct CONTEXT record for fibers: the stack return address was not set (EIP was being used instead), and support for FPU-compatible Fibers was non-existent. [KERNEL32]: CreateFiberEx was not passing the correct context flags to BasepInitializeContext to notify it that this is an FPU-fiber. [KERNEL32]: SwitchToFiber was using some weird "FXSR" constant that maps to checking of PowerPC 64-bit Move instructions are available. We actually want to check for XMMI. (Alex Ionescu)
  • [KERNEL32] Fix ConvertOpenWin32AnsiObjectApiToUnicodeApi and OpenNtObjectFromWin32Api macros always returning NULL. Spotted by Thomas Faber. (Amine Khaldi)
  • [KERNEL32]: Optimize SwitchToFiber to simply use "ret" to jump between fibers, instead of saving EIP and doing a JMP. Bug #50: SwitchToFiber needs to check if FXSR is *NOT* present in order to skip using ldmxcsr/stmxcsr. Previously, it would check if it's unsupported, and jump past the instruction if it was (resulting in invalid opcode instructions on older systems) 50 bugs. Penance has been paid. (Alex Ionescu)
  • [KERNEL32]: Implement BaseFiberStartup in ASM, just like the thread/process thunks, so we get a "naked" thunk without any compiler-generated crap. (Alex Ionescu)
  • [KERNEL32]: Bug #47: CreateFiberEx should return ERROR_INVALID_PARAMETER for invalid flags. Bug #48: DeleteFiber should also check if HasFiberData is TRUE in TEB before calling ExitThread. Bug #49: DeleteFiber should only delete the FIBER data structure after cleanup is complete, not before. Also, enable the calls to RtlAllocateActivationContextStack since SxS kind-of exists now. However, we leak the context since RtlFreeActivationContextStack is not implemented. Also, add a call to BaseRundownFls so we don't forget to cleanup FLS data once FLS is implemented. (Alex Ionescu)
  • [KERNEL32]: Bug #45: ConvertThreadToFiberEx should return ERROR_INVALID_PARAMETER if an invalid flag is passed. Bug #46: ConvertThreadToFiberEx should return ERROR_ALREADY_FIBER if the thread is already a fiber, not return the current fiber data. (Alex Ionescu)
  • [KERNEL32] Bug #43: ConvertFiberToThread should return ERROR_ALREADY_THREAD, not ERROR_INVALID_PARAMETER in case of failure. Bug #44: ConvertFiberToThread should set FiberData to NULL in the TEB, after doing the conversion. Thanks, Winetests, for saying "0 failures", when this API was broken. (Alex Ionescu)
  • [KERNEL32]: Bug #42: GetThreadPriority was only returning -2, -1, 0, 1, 2 or 15 and -15. For realtime threads, priorities of 3, 4, 5, 6, 7, and their negatives, are also valid. Also, GetThreadPriority was returning -15/15 for any priorty outside the -2/2 range, instead of just the special saturation values (I should count this as a separate bug, really...) (Alex Ionescu)
  • [KERNEL32]: Bug #39: BaseThreadStartup needs to call CsrNewThread (which registers the termination port with CSRSS) for Win32 threads. Bug #40: If a crash happens during thread execution, ExitProcess should be called instead of ExitThread (unless this is a CSR thread). Bug #41: The ExitThread/Process APIs should be called still from within the context of the SEH frame, not outside of it. Use BaseRunningInServerProcess global instead of local IsServer local when connecting to CSRSS. This is needed for things such as the above. (Alex Ionescu)
  • [KERNEL32]: Bug #35: TlsSetValue should allocate the TlsExpansionSlots under the PEB Lock. Bug #36: TlsGetValue needs to set the last error to ERROR_SUCCESS when the index is valid (amd even if no expansion slots exist!). Bug #37: TlsFree did not check the return of NtSetInformationThread(ThreadZeroTlsCell). Bug #38: TlsAlloc was setting error to ERROR_NO_MORE_ITEMS instead of STATUS_NO_MEMORY. In principle the former is more accurate, but that's not how API compatibility works. Optimize TLS functions not to call NtQueryTeb/Peb all the time. Cache the TEB/PEB value instead. (Alex Ionescu)
  • [KERNEL32]: Fix Bugs #30, #31, #32, #33: WaitForSingleObjectEx, WaitForMultipleObjectsEx, SignalObjectAndWait, SleepEx need to set the default activation context active so that APCs can execute under it in the case of alertable wait. [KERNEL32]: Fix Bug #34: WaitForMultipleObjectsEx was leaking the wait block array in case of a wait failure. (Alex Ionescu)
  • [KERNEL32]: Implement a BaseFormatTimeOut helper function to take care of dwMillisecond->LARGE_INTEGER timeout conversion instead of duplicating 3 different versions of the code required to do so. (Alex Ionescu)
  • [KERNEL32]: Fix bugs #22, #23, #24, #25: (Un)RegisterWait(Ex) APIs were not checking for an invalid wait handle. [KERNEL32]: Fix bugs #26, #27: RegisterWait(Ex) was not calling GetConsoleInputWaitHandle, so waits on console handles were given straight to the kernel (which obvioulsy doesn't grok them). [KERNEL32]: Fix bugs #28, #29: UnRegisterWait(Ex) was not checking for STATUS_PENDING, which is a "warning" in NT, but an error as far as this API is concerned, so FALSE should be returned. (Alex Ionescu)
  • [KERNEL32]: And finally, the timer APIs and bugs #20 and #21. (Alex Ionescu)
  • [KERNEL32]: Apply macros to Semaphore APIs. Fix bugs #18/#19 (same as before). (Alex Ionescu)
  • [KERNEL32]: Arch, next time hit "Save" before comitting. (Alex Ionescu)
  • [KERNEL32]: Make Mutex APIs use the macros too. Fixes bugs #16/#17, same as #14/#15. (Alex Ionescu)
  • [KERNEL32]: Forgot this, sorry. (Alex Ionescu)
  • [KERNEL32]: Small fix to the macros (not functional, just for compiler's sake). [KERNEL32]: Update Event APIs to use the new macros. Fixes bugs #14, #15: the create/open ANSI APIs were not returning the right error in case of object names that were too large. (Alex Ionescu)
  • [KERNEL32]: Create OpenNtObjectFromWin32Api macro (last one). [KERNEL32]: Make OpenJobObjectW use this macro (nothing fixed, it was already doing the right thing). (Alex Ionescu)
  • [KERNEL32]: Add ConvertOpenWin32AnsiObjectApiToUnicodeApi macro. [KERNEL32]: Fix bugs #11, #12, #13: OpenJobObjectA did not correctly set the error code in case the string was too long, nor did it use the TEB's static unicode cache, nor did it enforce a 260 character object name limit. Fixed by using the new macro. (Alex Ionescu)
  • [KERNEL32]: Fix the object macros to be MSVC/C99 compatible. Also allow for the variadic part to contain no arguments. [KERNEL32]: Fix bugs #7, #8, #9, #10: CreateJobObjectW did not add OBJ_OPENIF to named jobs, it did not add named objects in the BaseNamedObjects directory, it did not correctly set ERROR_ALREADY_EXISTS when collisions happened, and it did not set ERROR_SUCCESS when the object was created. All this was fixed by using the new CreateNtObjectFromWin32Api macro. (Alex Ionescu)
  • [KERNEL32]: Fix bugs #4, #5, #6. CreateJobObjectA was building a dynamic string isntead of using the TEB. It was also not returning the right error code in case of error. It was also allowing jobs to have names past 260 characters. Fixed by using the ConvertWin32AnsiObjectApiToUnicodeApi macro from 5-6 revisions ago. (Alex Ionescu)
  • [KERNEL32]: Reformat (of my own code). (Alex Ionescu)
  • [KERNEL32]: New macro, not yet used. This one implements the CreateXxxW APIs (or rather, will). (Alex Ionescu)
  • [KERNEL32]: Clarify the difference between the macro and Basep8BitStringToStaticUnicodeString. (Alex Ionescu)
  • [KERNEL32]: Fix Bug #3. Make CreateNamedPipeA use our new macro. Fixes the fact it wasn't checking for success when doing the ANSI->Unicode translation, and just assumed things would work. (Alex Ionescu)
  • [KERNEL32]: Fix Bug #2: FindFirstChangeNotificationA actually returns FALSE instead of INVALID_HANDLE_VALUE if the name conversion failed. In fact, up until Win7, all the *A object APIs do so, even though MSDN has always claimed the APIs return INVALID_HANDLE_VALUE. Since we don't have the Shim Database Microsoft has to unbreak apps on Win7 that probably depend on the old behavior, we'll keep the old behavior (especially since we target NT 5.2 -- and even Vista does it this way). [KERNEL32]: Bug was fixed by using the new macros implemented last commit. (Alex Ionescu)
  • [KERNEL32]: Add a macro function that automatically takes care of A->W conversion for Win32->NT Object Create APIs, and does AllTheRightStuff. [KERNEL32]: Fix bug #1: CreateFileMappingA was not returning the right error if the file mapping name was too long. By making it use the new ConvertWin32AnsiObjectApiToUnicodeApi macro, it now does. (Alex Ionescu)
  • NO CODE CHANGE: [KERNEL32]: Rename "misc" to "wine" since this is what this is now. (Alex Ionescu)
  • NO CODE CHANGE [KERNEL32]: And at last, the final stroke. Move toolhelp.c into client, and split time.c into timezone.c (wineisms) and time.c (incorrect/buggy ntisms), which goes into client. Now "misc" truly only contains Wine-code (along with winnls), and the true NT base API that needs to be focused on is in "client". (Alex Ionescu)
  • [KERNEL32]: We lost an API. Rbuild didn't care. (Alex Ionescu)
  • [KERNEL32]: Remove stubs.c and instead distribute stubs in their appropriate files. [KERNEL32]: Create vdm.c and appcache.c since no files existed for these kinds of APIs. (Alex Ionescu)
  • [KERNEL32]: Don't know how to fix this without breaking the synch... but this should fix CMAKE. (Alex Ionescu)
  • [KERNEL32]: C'mon cmake..you can do it! (Alex Ionescu)
  • [KERNEL32]: Add the #defines only to Winesynched code. Should fix CMAKE build... [KERNEL32]: Move more Vista APIs out of the way and un-export some functions. Reset the WINNT_VERSION to 0x502 instead of 0x600, except for synch.c (TBD). [KERNEL32]: Fix casts and math in GetTickCount and GetTickCount64. GetTickCount64 is Vista, but Wine-synched DLLs need it, so leave it exported. (Alex Ionescu)
  • [KERNEL32] Add GetLocaleInfoEx back to the exports, idndl needs it. Should fix default (rbuild) build. No idea (and don't care) about the cmake build, the cmake boys will have to deal with that if it breaks. (Ged Murphy)
  • [KERNEL32]: Try to fix CMAKE build. I love how the RBUILD build is fine though. (Alex Ionescu)
  • [KERNEL32]: Now really kill combdcb.c, as the Wine implementation is now in comm.c (Alex Ionescu)
  • [KERNEL32]: Winesync all there is to Winesync in ReactOS' kernel32. This mainly affects LZ*, Comm*, *ProfileString* (INI), and *Resource* APIs, however the changes in there are relatively minor. More substantial changes affect the locale/NLS/language functions, many which were bitrotting for 6+ years. In theory, this code is "better" than before, and it is closer to Wine (which arguably has better compatibility). It also resets things in sync with Wine however, and may lose and "fixes" ReactOS may have added over the years. But this is a good thing, since these fixes have been "lost" (they obviously never made it into Wine), and if regressions are now found due to this, actual upstream patches can be sent and picked up on the next sync. This avoids maintaining duplicate code, at the expenses of some potential short-term regressions in i18n. Finally, note that much of /string seems to be taken from Wine's Unicode library (which a host "unicode" already exists in ReactOS' tools/. It may be better (for someone with more experience as to these wine-isms) to simply just pull-in whatever winelib files are not currently present in ReactOS, and have kernel32 and tools/unicode use winelib, instead of having 2 or 3 copies of the code. (Alex Ionescu)
  • NO CODE CHANGE [KERNEL32]: Final part of the re-structure: move the last few files from "misc" into "client". Now "misc" is mostly composed of Wine-based code (which will soon by Winesynched) that provides functionality such as INI, .rsrc parsing and LZip expansion, as well as the RS232-based APIs. The rest of "client" is NT-layer glue, much of it buggy and in need of help. [KERNEL32]: Move "Beep" from environ.c to deviceio.c... seems to make more sense there. [KERNEL32]: Set kernel32_handle since Wine-synched code will depend on this. [KERNEL32]: Link with winelib, don't link with normaliz anymore. (Alex Ionescu)
  • NO CODE CHANGE. [KERNEL32]: Delete now empty directories. (Alex Ionescu)
  • NO CODE CHANGE. [KERNEL32]: Delete now empty directories. (Alex Ionescu)
  • NO CODE CHANGE [KERNEL32]: Reorganize the source tree into a "client" section (The Win32 API proper and its wrapping of the NT base system -- unsynchable with Wine until they have a proper NtDll and choose to use our code) and a "winnls" section (string/language/etc stuff easily synchable with Wine). [KERNEL32]: Note: this is not perfect yet, but a step in the right direction. (Alex Ionescu)
  • NO CODE CHANGES. [KERNEL32]: Reorganize certain functions in different files, and move files into more appropriate locations. Will lead to a simplification of the directory structure. (Alex Ionescu)
  • [KERNEL32] Initialize ViewSize to 0 when mapping view of section. Fixes DLLs registration problems in 2nd stage (happening all the time with the ldr rewrite). (Aleksey Bragin)
  • [KERNEL32] Fix formatting. No code changes. (Rafał Harabień)
  • [KERNEL32] Use current directory in GetDriveType if no path is given Check if path is properly ended Remove slash from end when calling NtCrateFile function Fixes few kernel32_apitest tests and floppy icon in My Computer if no floppy is inserted See issue #6148 for more details. (Rafał Harabień)
  • [kernel32] Radek Liska: sync czech NLS resources to Wine See issue #6122 for more details. (Gregor Schneider)
  • [KERNEL32] Properly check if buffer given to GetComputerName is too small. Fixes hostname.exe if computer name is MAX_COMPUTERNAME_LENGTH long (the default for bootcd since it's generated randomly in Setup). Simplify it a bit (Rafał Harabień)
  • [KERNEL32] Zero-initialize base address in BasepLoadLibraryAsDatafile. Should fix 2nd stage problems. Add a trace debugprint, silented by default. See issue #6092 for more details. (Aleksey Bragin)
  • [KERNEL32] Finish the ldr.c rewrite. Properly implement LoadLibraryExW (which contained some good code pieces added by Alex). Implement BasepLoadLibraryAsDatafile, however it doesn't support redirection yet and a call to load alternate resource module is commented out (it's totally absent in the existing ntdll/ldr API now). Mark GetDllLoadPath as deprecated, should be removed when SearchPathW is rewritten (or at least, reviewed). The new function to use is BasepGetDllPath. (Aleksey Bragin)
  • [KERNEL32] Rewrite most of kernel32 module loading APIs (except for LoadLibraryExW, for testing purposes it's gonna be committed in a separate commit). Rewritten parts include: Better definition of LOADPARMS32 structure for LoadModule, and rewritten LoadModule which is now a well structured function with proper parameters validation, proper work algorithm and setting proper last error values in failure cases. Optimization of allocating MAX_PATH buffer on stack instead of in the heap is saved from the old version of the function. LoadLibraryA, added a path-hack (present at least up to Windows 2003) for twain_32.dll loading (not that important, but still a compatibility issue). Make GetProcAddress() use BasepMapModuleHandle for mapping the passed-in handle (including properly handling NULL module handle which was incorrectly handled by the old implementation), and check for a special failure case when LdrGetProcedureAddress returns pointer to the image base address. (Aleksey Bragin)
  • [KERNEL32] Rewrite large part of ldr.c code, including FreeLibrary, FreeLibraryAndExitThread, GetModuleFileNameA/W, GetModuleHandleA/W, ExA/W. Now they properly validate parameters, common code for getting module handles is factored into a standalone function which is reused for all 4 APIs instead of duplicating almost the same code four times. GetModuleFileNameA became a typical A->W wrapper around GetModuleFileNameW so duplication is also removed there. Getting module handle also became a correct implementation because now it takes process's dll path into account instead of always assuming a "default" one (which is incompatible with a new ntdll loader). Fixed a typo in BasepGetProcessPath which led to incorrect value being returned. Downgrade two debugprints. (Aleksey Bragin)
  • [KERNEL32] Implement a simple version of BasepGetDllPath()/BasepGetProcessPath(). (Aleksey Bragin)
  • [KERNEL32] Rename global vars to some better names (some of the names seen in Windows 2003 asserts and text messages). Add BaseDefaultPath initialization, which will be needed but the new kernel32/ldr code, which is in turn required by the new ntdll/ldr code. Add some beginnings of BasepGetDllPath(), but it returns NULL anyway now so no change in execution. (Aleksey Bragin)
  • Set last error to ERROR_PROC_NOT_FOUND in case of NULL module in GetProcAddress Check for error when freeing datafile Fixes 2 winetests (Rafał Harabień)

LOADPERF

LOCALSPL

LOCALUI

LPK

LSASRV

  • [LSASRV] Initialize required policy attributes when the LSA database is created. This fixes the hanging lsa winetest. (Eric Kohl)
  • [LSASRV] Implement the PolicyPrimaryDomainInformation and PolicyAccountDomainInformation cases of LsarQueryInformationPolicy. (Eric Kohl)
  • [LSASRV] Change some stubs to real exports in the spec file, since the functions exist. Fixes MSVC build (Timo Kreuzer)
  • [LSA] Implement the LSA object database. Implement the information classes PolicyPrimaryDomainInformation and PolicyAccountDomainInformation of LsarSetInformationPolicy(). (Eric Kohl)

MSAFD

  • [MSAFD] Correctly handle an arbitrarily large sockaddr in WSPConnect. Fixes mIRC 7.1x crash on connect See issue #6005 for more details. (Thomas Faber)
  • [MSAFD] More consistent error handling in WSPConnect Fix a DPRINT (Thomas Faber)
  • [MSAFD] Implement SO_LINGER and SO_DONTLINGER for getsockopt and setsockopt Fix and add buffer size checks Yes, we've gone this long without SO_LINGER support (Cameron Gutman)
  • [MSAFD] Remove a broken debug print (Cameron Gutman)
  • [MSAFD] Fix several bugs in WSPGetSockName and WSPGetPeerName (Cameron Gutman)
  • [MSAFD] Let WSPSend handle WSPSendTo on a non-datagram socket (mswsock_new does this) Fixes sendto on connection-oriented sockets (Cameron Gutman)
  • [MSAFD] Let WSPRecv handle WSPRecvFrom on a non-datagram socket (mswsock_new does this) Fixes recvfrom on connection-oriented sockets (Cameron Gutman)
  • [MSAFD] Only shutdown the socket if it has not already been shutdown Fixes EINVAL messages (Cameron Gutman)
  • [MSAFD] Fail SIO_GET_EXTENSION_FUNCTION_POINTER Fixes the crash during ws2_32_winetest sock In my testing, "sock: 4374916 tests executed (0 marked as todo, 93 failures), 6 skipped." (Cameron Gutman)
  • [MSAFD] Mark the accepted socket as connected Fixes graceful disconnect on accepted sockets (Cameron Gutman)
  • [MSAFD] Reenable the FD_OOB async event after a call to WSPRecvFrom which received OOB data Remove a useless check (Cameron Gutman)
  • [MSAFD] Fix linger and graceful disconnect Fix a crash in WSPGetSockName and WSPGetPeerName exposed by ws2_32 winetest sock (Cameron Gutman)
  • [MSAFD] Print the caller in MsafdReturnWithErrno Initialize SockAsyncCompletionPort handle Check if the creation of the completion port failed Defer free of the socket information struct until the socket handle has been closed because the socket may have a pending select. When the socket is closed, the pending select is canceled, thus a apc routine is invoked which access the freed socket information struct. Fixes mIRC crash Should be merged to 0.3.13 branch (Johannes Anderwald)

MSGINA

  • [MSGINA] Call NotifyBootConfigStatus after a user has been logged-on successfully. Implement WlxIsLogoffOk. (Eric Kohl)

MSI

MSVCRT

  • [MSVCRT] comment out _vswprintf export until I get more time to fix this properly (Jérôme Gardou)
  • [MSVCRT] some fixes to spec file, based on a wine patch by Piotr Caban (Jérôme Gardou)
  • [MSVCRT] Add 64bit exports of operator new and operator delete (Timo Kreuzer)
  • [MSVCRT] Fix usage of set_entrypoint (Timo Kreuzer)
  • [MSVCRT] being a stub doesn't allow you to be uninitialized (Jérôme Gardou)
  • [MSVCRT] more fixes to spec file (Jérôme Gardou)
  • [MSVCRT] export bessel's functions misc fixes to spec file (Jérôme Gardou)

MSVCRT20

  • [MSVCRT20] being a full blown crt dll, msvcrt20 needs a correct dllmain entry point (Jérôme Gardou)
  • [MSVCRT20] hopefully fix rbuild's build (Jérôme Gardou)
  • [MSVCRT20] link to static crt instead of forwarding function to msvcrt. As msvcrt, msvcrt20 exports some variable, marked as DATA in the def file. Forwarding them is not a good idea, since msvcrt would be initialized only if one of the forwarded function is called. We must keep those variables in our module. And as the forwarded functions might use the said variables, we can't really forward them, as they would not know which instance they should reference. (Jérôme Gardou)

MSVCRT40

  • [MSVCRT40] static link to crt, correct base address qnd entry point, etc... See change log of MSVCRT20 for details. (Jérôme Gardou)

MSXML3

  • [MSXML3] Don't link to libxslt in rbuild build. Dedicated to Alex. (Amine Khaldi)

NETAPI32

  • [NETAPI32] NetUserModalsGet failed if the domain SID returned by LsaQueryInformationPolicy was NULL. Handle the NULL SID case correctly. See issue #6102 for more details. (Eric Kohl)

NETID

  • [NETID] Use EDITTEXT instead of LTEXT. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> See issue #6129 for more details. (Amine Khaldi)

NETSHELL

  • [NETSHELL] Fix a typo Intel PRO/1000 shows a link speed of 1 Gbps now (Cameron Gutman)
  • [NETSHELL] Fix icon handle leaks in the network status taskbar icon (Cameron Gutman)

OLE32

  • [Ole2] Fix Adobe Acrobat Reader 7.x from throwing exceptions at start up. Partial sync with wine, See bug 5560. (James Tabor)
  • [OLE32] Fix comcat build, DllGetClassObject has to remain public. (Sylvain Petreolle)

OLEAUT32

  • [OLEAUT32] add assembly version of call_method for MSVC fix a syntax error (sizeof(int[3]) is not valid C) move definitions to the top of the CMakeLists.txt (Timo Kreuzer)

QMGRPRXY

RASDLG

  • [TRANSLATION] rasdlg romanian translation, patch by Stefan Fulea; See issue #6499 for more details. (Olaf Siejka)

RICHED20

  • [RICHED20] Fix ME_CharFromPoint relying on Wine's incorrect behavior of GetTextExtentExPointW. Already sent upstream(TM) See issue #6196,5784,6037,6095,6187,6513 for more details. (Thomas Faber)

RPCRT4

  • [RPCTR4] Take NetworkAddr into account when a named pipe client is opened. Return RPC_S_SERVER_UNAVAILABLE when an attempt to create a named pipe client fails with an ERROR_BAD_NETPATH error. This fixes the first test failure in the advapi32 service winetest. (Eric Kohl)
  • [RPCRT4] remove ros hack, obsoleted by r53580 and r53581 (Jérôme Gardou)
  • [RPCRT4] do not wait for other threads in DLL_PROCESS_DETACH fix handle leak remove debug code (Jérôme Gardou)
  • [RPCRT4] reduce difference with WINE : use their implementation of RpcMgmtStopServerListening (Jérôme Gardou)
  • [RPCRT4] restore lost ros specific change. Thanks Vic. (Jérôme Gardou)
  • [RPCRT4] fix msvc version of call_stubless_func (Jérôme Gardou)
  • [RPCRT4] sync with wine 1.3.26 MAny thanks to Filip Navara for his invaluable help. (Jérôme Gardou)
  • [RPCRT4] Fix MSVC version of call_server_func (Timo Kreuzer)
  • [RPCRT4] Add msvc.S containing call_stubless_func in assembly Fix spec file, 2 stub functions are already implemented fix use of GetExceptionCode(), it cannot be used in that context. (Timo Kreuzer)

SETUPAPI

  • [SETUPAPI] SetupDiCreateDeviceInfoW: return the proper error code. Fixes a winetest. Implements parts of SetupDiRegisterDeviceInfo. (Eric Kohl)
  • [SETUPAPI] Implement a FIXME in SetupDiOpenDeviceInfoW (Thomas Faber)
  • [SETUPAPI] Do not fail in SetupDiInstallDevice if the inf file already exists. Fixes VirtualBox 4.1.x additions See issue #6522 for more details. (Thomas Faber)
  • [SETUPAPI] Correctly interpret the result of compare_files in SetupCopyOEMInfW. Prevents random failures (Thomas Faber)
  • [SETUPAPI] Fix installation failure of services without a load order group (Thomas Faber)
  • [SETUPAPI] Implement CM_Get_DevNode_Custom_Property[_Ex]A/W. Fix the return value of CM_Open_Class_Key_ExA. Handle REG_MULTI_SZ values properly in CM_Get_DevNode_Registry_Property_ExA. (Eric Kohl)
  • [SETUPAPI/FORMATTING] Try to fix some indentation nightmares. No code changes (Thomas Faber)
  • [SETUPAPI] fix broken check fix potential NULL pointer dereference fix non critical parameter checks. (Jérôme Gardou)
  • [SETUPAPI] fix typo (Jérôme Gardou)
  • [SETUPAPI] fix confusion on buffer size between string length and number of bytes. Might fix some infamous heap corruption bug during install. Please test. (Jérôme Gardou)
  • [SETUPAPI] Add stubs for CM_Set_Class_Registry_PropertyA/W. Add support for missing properties to CM_Set_DevNode_Registry_Property_ExA/W. (Eric Kohl)
  • [SETUPAPI] SetupDiGetClassDevPropertySheetsW: Improve the way property sheet pages are added to a property sheet. This change enables us to retrieve the number of property sheet pages provided by a property sheet provider without leaking property sheets. (Eric Kohl)
  • [SETUPAPI] Implement CM_Get_Class_Registry_PropertyW. (Eric Kohl)
  • [SETUPAPI] Fix SetupDiCreateDevRegKeyW: When trying to open a devices driver key (DIREG_DRV) the function always created a new driver instance key. The fixed version checks for an existing driver value. If the driver value exists, it opens or creates the driver instance key. If the driver value does not exist, the function generates a new driver instance key and sets a new driver value for the device instance. (Eric Kohl)
  • [SETUPAPI] SetupDiCreateDeviceInfoW: Really create a new device instance instead and return its device info data instead of returning the device info data for an existing device. Implement SetupDiDeleteDeviceInfo. (Eric Kohl)
  • [SETUPAPI] Add stubs CM_Get_Class_Registry_PropertyA/W. Move CMP_RegisterNotification, CMP_UnregisterNotification and CMP_WaitNoPendingInstallEvents. Remove stubs TPWriteProfileString and suErrorToIds because they are part of setupx.dll (16 bit DLL). (Eric Kohl)
  • [SETUPAPI] CM_Create_DevNode_ExW: Copy the device id string into a local buffer before passing it to PNP_CreateDevInst because its 2nd argument is an 'in out' string. Using a writable string buffer prevents exceptions in case the device id passed to CM_Create_DevNode_ExW is a string constant. (Eric Kohl)

SFC

  • [SFC] Add sfc_os import lib target. Link sfc to sfc_os. Fixes msvc build. (Amine Khaldi)

SFC_OS

  • [SFC_OS] Implement SfcFileException, required by VBox Guest additions to install 3D support. (Sylvain Petreolle)

SHELL32

  • [SHELL32] - Restore functionality of Start Menu from old shell32 (Rafał Harabień)
  • [SHELL32] Make functions in folder_options.c static Register FolderOptions using folderoptions.rgs (Rafał Harabień)
  • [SHELL32] Display file size in bytes in file properties dialog Don't use ULONGLONG if ULONG is enough Change LARGE_INTEGER to ULARGE_INTEGER where it makes sense Fix calculation of file size in CountFolderAndFiles WM_GETTEXT receives size in bytes (not characters count) Use Get(Set)DlgItemTextW instead of SendDlgItemMessageW Patch by Carlo Bramix. Improvements by me. See issue #6294 for more details. (Rafał Harabień)
  • [SHELL32] Use string IDs from rgs files Improve Polish translation (Rafał Harabień)
  • [SHELL32] Improve Polish translation of Folder Options Fix Start Menu folder having name "Menu" in Polish translation (Rafał Harabień)
  • [SHELL32] - Don't fail if Shell folder cannot be created. This way shell registers more folders on LiveCD. (Rafał Harabień)
  • [SHELL32] Initialize fSite in the constructor. CID 15134. (Amine Khaldi)
  • [SHELL32] Fix the syntax of the Japanese resource file (Spotted by windres). (Amine Khaldi)
  • [SHELL32] - Fix running batch files from patch containing spaces in ShellExecute API (Rafał Harabień)
  • [SHELL32] - Load iCmdShow value from .lnk files (Rafał Harabień)
  • [SHELL32] - Fix dereferencing context menu object twice. (Rafał Harabień)
  • [SHELL32] - Fix "No text" warnings when starting control panel (Rafał Harabień)
  • [SHELL32] - Improve method names and simplify _ILCreateCPanelApplet (Rafał Harabień)
  • [SHELL32] - Remove "retrieve display name from control panel app" FIXME - it's already done + minor code improvements. (Rafał Harabień)
  • [SHELL32] - Revert r54404 (Rafał Harabień)
  • [SHELL32] - Support keys with readable name and default value set to GUID in MyComputer name space. Fixes a warning about "Controls" not beeing GUID. (Rafał Harabień)
  • [SHELL32] - Remove a not needed hack (Rafał Harabień)
  • [SHELL32] - Register Printers folder in ControlPanel namespace. Fixes "Printers is not a GUID" warning (Rafał Harabień)
  • [SHELL32] - Rename CBitBucket to CRecycleBin (Rafał Harabień)
  • [SHELL32] Export IContextMenu interface in RecycleBin object. Fixes recycle bin context menu. Export IShellPropSheetExt interface too and fix order. See issue #6543 for more details. (Rafał Harabień)
  • [Shell32] Fix edit control window procedure, see Bug 4856. (James Tabor)
  • [shell32] Fix a few more winetests in shlfolder tests. (Claudiu Mihail)
  • [SHELL32] Fix rbuild build. Remove a debug breakpoint that is no longer needed. (Amine Khaldi)
  • [shell32] Fix ParseDisplayName based on wine by checking for paths that are parsable through IEParseDisplayNameWithBCW. Score 2 failed wine tests in shlfolder (Claudiu Mihail)
  • [SHELL32] Hackfix shell new item service Add support for SID_IFolderView (Johannes Anderwald)
  • [SHELL32] Remove unwanted change (Johannes Anderwald)
  • [SHELL32] Check first it the path is a drive path Fixes launching drive property dialog when clicked in the shell view area (Johannes Anderwald)
  • [SHELL32] Remove unused code Display file extension based on Edijus patch See issue #6310 for more details. (Johannes Anderwald)
  • Fix launching of properties dialog in the detail view Based on Edijus patch (terminedijsatyahoodotcom) See issue #6571 for more details. (Johannes Anderwald)
  • [SHELL32] Use COPYRIGHT_YEAR in the Authors dialog. See issue #6496 for more details. (Kamil Hornicek)
  • one .rbuild file ought to be enough for anybody (Kamil Hornicek)
  • [SHELL32] Igor Paliychuk: Convert shell32 resources to utf-8. See issue #6379 for more details. (Amine Khaldi)
  • [SHELL32] Improve the registration. By Johannes Anderwald. (Amine Khaldi)
  • [SHELL32] Mark some functions as static. Fix a typo in My_VideoW. (Amine Khaldi)
  • [SHELL32] Sync brsfolder.cpp with Wine. Reduce the scope of some variables. (Amine Khaldi)
  • [SHELL32] Use the previous registration mechanism. Fixes several shell32 regressions. Dedicated to Claudiu Mihail and Johannes Anderwald. (Amine Khaldi)
  • [shell32] Remove CS_HREDRAW and CS_VREDRAW stlye from the defview class. Reduces flicker (Giannis Adamopoulos)
  • [shell32] Add two dummy icons for id 26 and 27. Now trying to load the recycle bin icon by index works (Giannis Adamopoulos)
  • [SHELL32] Fix a memory leak. (Amine Khaldi)
  • [SHELL32] Implement SHPropStgCreate, SHPropStgReadMultiple, SHPropStgWriteMultiple based on wine This should fix the shellole tests (Claudiu Mihail)
  • [SHELL32] Properly stub SHPropStgCreate, SHPropStgReadMultiple and SHPropStgWriteMultiple. By Claudiu Mihail. Shell32 shellole winetest doesn't crash anymore. (Amine Khaldi)
  • [shell32] Fix auto complete init method based on Wine. Autocomplete shell tests should no longer crash now. Brought to you by Claudiu Mihail. (Giannis Adamopoulos)
  • [SHELL32] Implement CDefView::SetCurrentViewMode based on Wine, along with some other bugfixes. Shell32 shlview winetest doesn't crash anymore as a result. Brought to you by Claudiu Mihail. (Amine Khaldi)
  • [SHELL32] Implement more functions based on Wine. By Claudiu Mihail. (Amine Khaldi)
  • [SHELL32] Implemented CDefView::GetSpacing based on Wine. By Claudiu Mihail. (Amine Khaldi)
  • [SHELL32] it's right there, use quotes to include it (Jérôme Gardou)
  • [SHELL32] A DialogProc returns INT_PTR, not BOOL (Timo Kreuzer)
  • [SHELL32] do not include headers that are already in precomp.h This time with necessary changes (Jérôme Gardou)
  • wrong change, sorry (Jérôme Gardou)
  • [SHELL32] do not include headers that are already in precomp.h (Jérôme Gardou)
  • [SHELL32] Update years in ReactOS about box (Rafał Harabień)
  • [SHELL32] Make the lengthy strings compatible with the recent gcc preprocessor. (Amine Khaldi)
  • [SHELL32_NEW] Merge 48786. (This is why we moved to C++, so much cleaner than the previous C code.) Improve parameter checks for IShellLinkA interface. Fix heap corruption when an invalid pointer is passed. Implement IPersistFile_fnGetCurFile. TODO: Add same checks to IShellLinkW interface and fix IShellLink[A|W]::GetPath / SetPath / SetIdList / GetIdList logic. (Ged Murphy)
  • [SHELL32_NEW] Merge 48254, 48371, 48463, 48501 Don't worry about trying to build this dll, it needs the new PSDK interfaces which won't be committed until the very end as they'll break the existing shell32. It make take a day or two as everything has to be merged by hand. (Ged Murphy)
  • [shell32/shell32_new] Improve German translation (Gregor Schneider)
  • Merge r51819 (Ged Murphy)
  • [shell32] One sizeof shall suffice (Gregor Schneider)
  • [SHELL32] Owen Rudge <orudge at codeweavers dot com>: Implement SHGetImageList http://source.winehq.org/git/wine.git/commitdiff/9db87f13d3f0f9e07accc9b5e12dccd202b88156 Fixes explorer++ main window patch provided by igorko (Timo Kreuzer)
  • [shell32] Don't create the ShellView class with the CS_HREDRAW and CS_VREDRAW styles Should reduce flicker in explorer (Giannis Adamopoulos)
  • [SHELL32] Update Italian & Spanish translations. (Gabriel Ilardi)
  • [SHELL32] Translation update (Olaf Siejka)
  • [shell32] Igor Paliychuk <mansonigor at gmail dot com>: Remove duplicate string and add some missing resources Increase buffer sizes in FolderOptionsFileTypesDlg Update RU and UA translations Myself: update German translation (Gregor Schneider)
  • [shell32] Re-add spaces to German translation (Gregor Schneider)
  • [shell32] Folder options: Load text from language file. Fill in the extension and description. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> Fix an Italian string. See issue #6208 for more details. (Gabriel Ilardi)
  • [SHELL32] Properly support WM_SYSCOLORCHANGE in ShellView window. Changing system colors in ReactOS works perfectly now :) (Rafał Harabień)
  • [shell32] Split declarations and operations, in case any pure C compiler cares (Gregor Schneider)
  • [shell32] Pass an argument array to FormatMessage to insert the filename details into error messages (instead of failing) See issue #5977 for more details. (Gregor Schneider)
  • [shell32] Properly arrange icons in explorer shell view window. This also fixes navigating in files with keyboard arrows (Giannis Adamopoulos)
  • [SHELL32] Return 1 in WM_ERASEBKGND when desktop is painted Fix background for desktop icons and their labels Moreover fixes explorer_new background (Rafał Harabień)
  • [SHELL32] Fix control style of property dialogs Patch Edijs Kolesnikovics, terminedijs@yahoo.com, irc:Edijus (Johannes Anderwald)
  • [SHELL32] Fix a bug, by Johannes Anderwald (Olaf Siejka)
  • [SHELL32] Fix compile warning (uninitialized use). Based on patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> slightly modified by Aleksiej See issue #6058 for more details. (Olaf Siejka)
  • [SHELL32] Italian & Spanish fixes + RunFileDlg translations (Gabriel Ilardi)
  • [SHELL32] Sync RunFileDlg to wine. It was crashing for one char input. Add "All files (*.*)" filter to RunDlg and OpenWith dialogs. Improved polish translation. Translators: please localize rest... (Rafał Harabień)
  • [SHELL32] Thomas Faber Fix memory leak in RenderHDROP. Modifications by me to have just a single return statement in the function. See issue #5998 for more details. (Colin Finck)
  • [SHELL32] Fix missing "Open" menu entry on right click for All Users desktop shortcuts. Patch by Thomas Faber <thfabba at gmx dot de> See issue #5998 for more details. (Sylvain Petreolle)

SHIMGVW

SHLWAPI

  • [SHLWAPI] - Add a diff file (Rafał Harabień)
  • [SHLWAPI] - PathIsUNC returns FALSE for paths starting with "\\?". Should be sent to wine. (Rafał Harabień)
  • [SHLWAPI] Fix the syntax of some resource files (Spotted by windres). (Amine Khaldi)

SYSSETUP

  • [LIVECD] - Add registration to LiveCD. Fixes #6597, #6613 and probably some more (Rafał Harabień)
  • [SYSSETUP] Close opened handles Improve code a bit (Rafał Harabień)
  • [SYSSETUP] Don't redefine constants from psdk in source files Improve error message (Rafał Harabień)
  • [SYSSETUP] Do not rely on setupapi's FileExists function, which shouldn't even be exported (Thomas Faber)
  • [SYSSETUP] Update the spec file to Windows XP SP2. (Eric Kohl)
  • [SYSSETUP] Set the account domain name. (Eric Kohl)
  • [SYSSETUP] Fix broken logic in CreateShortcut() and add an explicit overall (Pierre Schweitzer)
  • [SYSSETUP] fix WCHAR/TCHAR confusion (Jérôme Gardou)
  • [SYSSETUP] Make the lengthy strings compatible with the recent gcc preprocessor. (Amine Khaldi)
  • [syssetup] Remove duplicate code, adjust message box text to fit the context (Gregor Schneider)
  • [SYSSETUP] Generate random computer name (REACTOS-xxxxxxx) in Setup. Patch by David Quintana <gigaherz at gmail dot com> modified by me See issue #6099 for more details. (Rafał Harabień)
  • [SYSSETUP] Fix information about computer name length limit in Setup. Translators: please review (Rafał Harabień)
  • [SYSSETUP] Computer name length is limited to 15 characters, not 63. Fixes possible buffer overflow Spotted by Victor Martinez (Rafał Harabień)
  • [SYSSETUP] Fix compilation warning. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> See issue #6059 for more details. (Olaf Siejka)
  • [SYSSETUP] Set HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate to install date. Patch by Edijs Kolesnikovics <terminedijs at yahoo dot com> slightly modified by me See issue #6044 for more details. (Rafał Harabień)

UPDSPAPI

  • [UPDSPAPI] Fix exports. Thank you, gcc toolchain, for letting this slip without any problems. Brought to you by the msvc toolchain. (Amine Khaldi)

USER32

  • [User32] Sync up with wine controls. See http://www.winehq.org/pipermail/wine-cvs/ for log data. (James Tabor)
  • [User32] Fix errno in dialog.c by linking to msvcrt with rbuild. Cmake does not have this issue, already links to msvcrt. Gdi32 rbuild does link to crtdll instead of msvcrt. Should we fix this too, before the Cmake switch over to see anything is different? (James Tabor)
  • Removes next phase for DesktopWndProcA. (James Tabor)
  • [User32] Updating MsgiAnsiToUnicodeReply fixed bug 4856 and 6650. Mirrored with it's counterpart. More work is needed. Adding some future DBCS char support. Miscellaneous changes. (James Tabor)
  • Add WndProc address to error prints. (James Tabor)
  • [USER32] Fix a TRACE. Spotted by Victor Martinez (Thomas Faber)
  • [User32] Fixed Dialog Ansi and color control brush acquisition. Added stack protection for message recursion. Due to wine message bug when in dialog initialization. See bug 6126. Miscellaneous fixups. (James Tabor)
  • [USER32] Fix MSVC build (Thomas Faber)
  • [User32] Icon title, menu and scroll bar do not set the death bit. Menu and scroll bar set the id only on specific window messages. (James Tabor)
  • [User32] Fix function ids, setting of the death bit when in NC destroy. Implement get control brush and color. Patch by Alexander LAW, Replicate Windows behavior of WM_SETTEXT handler regarding WM_CTLCOLOR* (James Tabor)
  • [User32] Up Dialog.c to 1.3.31, sync port and minimized differences. Sync Information: Alexandre Julliard <julliard@winehq.org> : Don't overwrite the default button id when creating the dialog structure. Michael Stefaniuc <mstefani@redhat.de>: Avoid using long. Avoid using HIWORD() on atoms/resources. (James Tabor)
  • Port wine right. (James Tabor)
  • [User32] Fix class window procedure checks, prevents misbehaving applications from calling wrong class procs. (James Tabor)
  • [User32] Fix class window procedure checks, prevents misbehaving applications from calling wrong class procs. Fixed callout for static control color brush. (James Tabor)
  • [User32] Use SetWindowTextA/W so that it passes through defwnd to be processed for themes. Fix validation of the dialog window and procedure. (James Tabor)
  • [User32] Fix SetWindowTextA/W so that it passes through defwnd to be processed for themes. Fix desktop checks. Add create window flags. (James Tabor)
  • [USER32] - Simplify DrawCaret (Rafał Harabień)
  • Add hits to track callback and winproc faults. (James Tabor)
  • [USER32] Fix memory leak (Pierre Schweitzer)
  • [User32] Check return value of DIB_GetBitmapInfo. (Dmitry Gorbachev)
  • [user32] Merge from the themes branch (Giannis Adamopoulos)
  • [USER32] Fix ole32:clipboard winetest regression (Rafał Harabień)
  • [User32] Fixed over check conditions for deleting regions in set window region. Disabled offsets with window region. Fixes wine tests.. (James Tabor)
  • Fix build Fix wrong memory copying, found by PVS-Studio (Dmitry Chapyshev)
  • Fix typo, found by PVS-Studio (Dmitry Chapyshev)
  • This seems to happen alot... (James Tabor)
  • [USER32] Fix a bad sizeof(). (Amine Khaldi)
  • [User32] Fix copy paste error in DIALOG_IsAccelerator, fixes a crash. Up Dialog.c to 1.3.26, sync port and minimized differences. (James Tabor)
  • [USER32] Partly sync static.c with wine, reduce diff between ros and wine code. The leak fix is taken care of. Also go back from Get/SetWindowLongPtr to Get/SetWindowLong for LONG values. Using the *Ptr version is wrong for LONG values! (Timo Kreuzer)
  • [USER32] Simplify finding the icon size in IntDrawState As a bonus, it now works for black and white icons too (Cameron Gutman)
  • [USER32] Fix a bitmap leak in IntDrawState (Cameron Gutman)
  • [USER32] Fix bitmap leaks in STATIC_SetIcon and get_icon_size (Cameron Gutman)
  • [user32] Merge part of r50590 Fix resource include path (Giannis Adamopoulos)
  • [user32] Fix double definition of GetClipCursor, ClipCursor, SetCursor and HiliteMenuItem Fixes compilation with msvc (Giannis Adamopoulos)
  • [user32] Fix several compilation issues with msvc (Giannis Adamopoulos)
  • [USER32] Use DISPLAY_DEVICEW instead of assuming DISPLAY_DEVICE is in unicode (Rafał Harabień)
  • [User32] When active or inactive set the appropriate action so the correct keyboard mode can be returned. (James Tabor)
  • [User32] Uses KF_Xxx flags instead of made up ones. Someone let wine know there are standard flags to use. (James Tabor)
  • [User32] Add Switch Class support. See bug 5378. Original patch by David Quintana. Alt-Tab works the same as windows, Alt-Esc needs more work. (James Tabor)
  • [USER32] Convert all resources to utf-8 (Timo Kreuzer)
  • [User32] DispatchMessage does not allow pointers to be passed forward so need to check for non synchronous messages. Added the same check for the other functions in User32 leaving the rest to be checked in Win32k. Add the timer callback validation check. (James Tabor)
  • [User32] Add missing wine sync for system command sub functions. (James Tabor)
  • [User32] Fix loop when using arrow keys in menu mode, other miscellaneous code changes. (James Tabor)
  • [User32] Sync up menu without the Right to Left support. Still missing needed changes for adding it. Patches by Alexandre Julliard and Dmitry Timoshkov. (James Tabor)
  • [User32] Connect the rest of the pump hooks and start tracking from application testing. (James Tabor)
  • [User32] Fix select old brush in FillRect. (James Tabor)
  • [USER32] Fix a bug causing "Attempted to lock object, wrong reuse counter" messages when CMD was started in LiveCD. Once got desktop HDC was used in different threads. When thread, which created handle terminated, DC handle was removed and next calls to CreateIcon* API was using invalid hDC. (Rafał Harabień)
  • [USER32] Don't fail if FillRect is called without brush. Fixes user32:uitools winetest (Rafał Harabień)
  • [User32] Cleanup edit and add back missing break in combo. (James Tabor)
  • [USER32] Improve formatting (Timo Kreuzer)
  • [USER32] Fix bug causing no NULL termination of strings after conversion in EnumDisplayDevicesA. Fixes one usr32:monitor winetest (Rafał Harabień)
  • [USER32] Gray close button if SC_CLOSE is disabled is sysmenu or class has CS_NOCLOSE flag See issue #5272 for more details. (Rafał Harabień)
  • [User32] Finishing with setting window class types from the window proc. Next step will be checking it in the User32 message exchange instead of using the class structure. This was recognized with the MDI tests, this too could fix the combo listbox issue. Minor static test fixes and miscellaneous notes. (James Tabor)

UXTHEME

WINHTTP

WININET

  • [WININET] Disable connection keep-alive to avoid calling into msafd to close the connection later during DLL_PROCESS_DETACH (Cameron Gutman)
  • Add forgotten language files (Cameron Gutman)

WINMM

  • [WinMM] avoid buffer overrun. do not try to unload uninitialized driver. See issue #6343 for more details. (Jérôme Gardou)

WSOCK32

  • [WSOCK32] Fix the spec file Fixes FF regression (Cameron Gutman)
  • [WSOCK32] remove useless def file rbuild : use spec file cmake : do not use two def files, it's... pointless. (Jérôme Gardou)

uncategorized

  • [Usp10] Sync up to wine head. This will be needed for edit controls. Waiting for Pierres patched to be added! (James Tabor)
  • [TCPIP] Make interface octets in/out stats more accurate (Cameron Gutman)
  • [TCPIP] Fix the overflow fix (Cameron Gutman)
  • [TCPIP] Massive IPPacket usage overhaul (fix missing frees, initializations, and double frees) Make IP receive completely agnostic of the buffers and data location (part 2 of 2) Use paged pool for the majority of allocations during receive and assembly Implement ProtocolReceivePacket for faster performance with 3rd party NIC drivers Fix a buffer overflow if an IPv4 packet is received with a header larger than 20 bytes Many more improvements and bug fixes (Cameron Gutman)
  • [Win32k] Fix more set active window API tests. The window postion change message with fixed lparam is erroneous. How can the address be the same since it originates from kernel space? (James Tabor)
  • [TCPIP] Avoid an extra copy operation when receiving packets Optimize loopback code a bit Make IP receive independent of the location of the data and continuity of buffers in the NDIS packet for ProtocolReceivePacket support (part 1 of x) (Cameron Gutman)
  • [RTL]: Clarify a comment. (Alex Ionescu)
  • [RTL]: Fix a bug in RtlGetCurrentDirectory_U. (Alex Ionescu)
  • [NDK]: Add missing define. (Alex Ionescu)
  • [TRANSLATION] Romanian translation update (bug no. 6704) by Stefan Fulea; Lithuanian UTF-8 translation fixes (bug no. 6716) by Edijs Kolesnikovics; sysdm translation update by myself; (Olaf Siejka)
  • [BOOTDATA] Log service control manager events in the system log. (Eric Kohl)
  • [EVENTLOG] Open the application log if the desired log does not exist. Log eventlog service stop and shutdown. (Eric Kohl)
  • [BOOTDATA] Remove class2 and scsiport service keys from the registry because these drivers are loaded automatically when they are needed. (Eric Kohl)
  • debug code for bug 6663 (Johannes Anderwald)
  • [libwine] add wine dll registration functions to libwine (taken from winecrt0) TODO: support for linking multiple res files rbuild/cmake: generating .rgs files from typelibs (Christoph von Wittich)
  • Fix typo. (Sylvain Petreolle)
  • [CRT] Normalize all crt dll entry points to be identical. Implement a single per thread data structure, instead of ancient and incomplete "wine port" hack and use it everywhere. Remove completely unused HeapCreate calls that just wasted memory. Update cpp.c and cppexcept.c to wine 1.3.33 Fix up strtok, wcstok, rand, and _beginthread_trampoline according to wine. Add place holders for future locale stuff. Patch by Samuel Serapion. (Sylvain Petreolle)
  • add debug code for handling bug 6663 (Johannes Anderwald)
  • [LWIP] Save a bit of memory by changing the way pbufs are allocated for transmission (Cameron Gutman)
  • [Win32k|User32] Fix regressions, running RegEdit. Adding more support for scroll bar controls. Pass all but 7 tests including the two wine todos. (James Tabor)
  • [Win32k|User32] Fix scrollbar class support. Sync ports from wine. Added the window scroll structure to the class. Pass all but 15 tests, two are wine todos lines 304 and 343. (James Tabor)
  • [CRT] Fix error handling for j0, j1, y0, y1 Bessel functions. Remove useless defines (Pierre Schweitzer)
  • [KERNEL32]: Write out the 3 internal APIs which will do path resolution, and define the structures that determine the search path order which each one will use. No functional change. (Alex Ionescu)
  • [SOLITAIRE] Change "Ok/Cancel" to "Yes/No". Lee Schroeder (=spaceseel=AT=gmail=DOT=com=), bug #6606. [CPL][WIN32K] Fix indentation, comments, debug messages. Lioncash (=mathew1800=AT=gmail=DOT=com=), bug #6562, bug #6621. (Dmitry Gorbachev)
  • [RBUILD] - Create livecd shortcuts on rbuild too (Rafał Harabień)
  • [DiskPart] Remove unused file. Lee Schroeder, bug #6699. (Dmitry Gorbachev)
  • Add padded boarder width to NONCLIENTMETRICS. (James Tabor)
  • [MKSHELLLINK] - Don't use stricmp. It's not a standard function. (Rafał Harabień)
  • [MKSHELLLINK] - Don't use windows.h in host tool (Rafał Harabień)
  • [MKSHELLLINK] Add host tool for creating .lnk files (Rafał Harabień)
  • Add window placement flag for async message mode. Yes we support this too now. (James Tabor)
  • [TCPVCS] Report service status upon an interrogate request. Set the wait hint to a non-zero value. (Eric Kohl)
  • [TRANSLATION] Romanian translation update (bug no. 6677) by Stefan Fulea; (Olaf Siejka)
  • [LIBXML2][LIBXSLT] Suppress unhelpful warnings (Thomas Faber)
  • [CRT] Remove some differences to Wine. Fixes comparing a char against EOF in fgetwc. (Thomas Faber)
  • [IP] Remove unused value. CID 11342. (Amine Khaldi)
  • [HAL] Timo Kreuzer: Fix a NULL pointer dereference. CID 13453. (Amine Khaldi)
  • [SERVICES] Do not use an unsigned type for a value that can become negative in ScmAssignNewTag (CID 14665) (Thomas Faber)
  • [SERVICES] Fix dwServiceType and dwServiceState checks in REnumServicesStatusW (see r54373) Fix a memory leak in RQueryServiceConfig2A (Thomas Faber)
  • Partially revert r54475 to check if it fixes KVM (Rafał Harabień)
  • [NTOSKRNL|KDCOM] Allow to specify the serial port address, as requested by people on the forum. (Dmitry Gorbachev)
  • [HALx86] Fix the fix (do not truncate ULONGLONG value) (Jérôme Gardou)
  • [HALx86] Hey Arch, it's an USHORT! (Jérôme Gardou)
  • [HALx86] fix various compiler warnings (msvc) fix a bug, where only the last IO map entry would be saved (Jérôme Gardou)
  • [Translation] Changes in a registry file by Stefan Fulea (Romanian). Bug #6677. (Dmitry Gorbachev)
  • [NTOSKRNL] Do not repeat messages into serial port even when using other debug methods. Allow to specify debug log file name. When using the "Screen" method, show blue screen when entering KDB. Disable the repetition of previous KDB command with long many-page output. [USETUP] Add "ReactOS (Screen)" entry to boot menu. (Dmitry Gorbachev)
  • [ADVAPI32_APITEST] Add missing test to CD (Pierre Schweitzer)
  • [RTL] explicitly truncate some values, so it doesn't count as an error for compiler/MSVC runtime checker (Jérôme Gardou)
  • [HAL] truncate PCI vendor id instead of casting it. MSVC chokes on it with /RTCc (Jérôme Gardou)
  • [RBUILD] Convert SPACEs to TABs in .rbuild. (Aleksey Bragin)
  • [KERNEL32/WIN32CSR] - Use ShowCmd from STARTUPINFO when creating console window (Rafał Harabień)
  • [CRT] implement _chkesp (Jérôme Gardou)
  • [CRT] Break ReactOS CRT: Add back crash on NULL pointer arg. This is the behaviour on w2k3. Don't skip \\?\ prefix any longer. This is the behaviour on w2k3. (Pierre Schweitzer)
  • [CRT] Fix MSVC build. (Pierre Schweitzer)
  • [CRT] Check for NaN and set error accordingly (Pierre Schweitzer)
  • [INF] - Don't place Polish translation in German section (Rafał Harabień)
  • [WINDEF.H] you never use enough brackets (Jérôme Gardou)
  • [CRT] Reimplemented _scalb properly. This fixes 19 tests. (Pierre Schweitzer)
  • [CRT] Reimplemented _fpclass properly. This fixes all failing _fpclass tests. See: http://babbage.cs.qc.cuny.edu/IEEE-754/References.xhtml Based on OpenAD implementation (Pierre Schweitzer)
  • [RTL/HEAP] Bring more awesomeness to the heap manager by zefklop's request: Add support for settable user values and flags in RtlAllocateHeap and RtlReAllocateHeap. Return error if RtlSetUserValueHeap was unable to set the value. Fixes remaining 2 failures of the kernel32_winetest alloc test. (Aleksey Bragin)
  • [CRT] _fpclass never returns SNaN class, but only QNaN class. This fixes 4 more tests (Pierre Schweitzer)
  • [CRT] Fix _fpclass prototype Fix headers included Remove internal defines that were useless and even not matching real defines. This fixes 4 tests (Pierre Schweitzer)
  • [CRT] Windows has no _isnanl, _isinfl functions (Pierre Schweitzer)
  • [CRT] Reimplemented _finite properly. Removed unused _isinf function. (Pierre Schweitzer)
  • [HALX86] Do not allow software interrupts to preempt code running with interrupts disabled during KfLowerIrql (Cameron Gutman)
  • [MSVCRT_APITEST] Add msvcrt_apitest to CDs (Pierre Schweitzer)
  • [CRT] Fix _fpclass. Spotted by: Vincenzo Cotugno Reviewed by: Timo Kreuzer (Pierre Schweitzer)
  • [SMSS] Limit the size of swapfile (to 2GiB). Bug #4760. (Dmitry Gorbachev)
  • [INF] Fix ServiceType value for the ne2000 driver Should fix ne2000 installation (Cameron Gutman)
  • [ATL] - Fix buffer overflow in CComDynamicUnkArray::Add. Found by Coverity (CID 2474) [NDK] - Remove meaningless const attribute from pointer rvalues to make Coverity's life easier (Thomas Faber)
  • [TRANSLATION] Romanian translation update (bug no. 6654) by Stefan Fulea; Simplified Chineese translation of base/shell and system (bug no. 6655) by Song Fuchang; Slovak translation fixes (bug no. 6658) by Mario Kacmar; (Olaf Siejka)
  • [Win32k|User32] Correct more types. (James Tabor)
  • [Win32k|User32] Patch by Shinobu Maehara: fix for kernel-mode/user-mode marshalling of WM_DDE_ACK. (James Tabor)
  • [HAL] Remove broken map register "prefetcher" code Check that we have enough space to grow our map registers Fix a bad hint to RtlFindClearBitsAndSet Queuing the grow work item is non-vital; treat it as such Fixes BSOD with CM3738 and VIA1723 sound cards [bug 6657] (Cameron Gutman)
  • [SERVICES] Always return ERROR_SUCCESS when ScmWaitForServiceConnect completes successfully instead of sometimes returning ERROR_PIPE_CONNECTED because the callers of this helper just look for ERROR_SUCCESS to indicate a successful call (Cameron Gutman)
  • [Win32k|User32] Fix broadcast message, pass all wine tests. Code consolidation next round. (James Tabor)
  • [NDK] Fix definition of RtlExtendedLargeIntegerDivide. (Sylvain Petreolle)
  • [TRANSLATION] Fix Czech resources that got broken by the UTF8 conversion. (Kamil Hornicek)
  • [SERVICES] REnumServicesStatusExW: Fix dwServiceType and dwServiceState checks. (Eric Kohl)
  • [HAL] Fix DMA on the EISA bus Fix a critical calculation error in map register size resulting in the map register allocation worker not allocating enough map registers for a dynamic resize (Cameron Gutman)
  • [SERVICES] RControlService: Initialize the callers service status information. (Eric Kohl)
  • [SERVICES] RControlService returns ERROR_SERVICE_NOT_ACTIVE if the service has not been started. (Eric Kohl)
  • [KERNEL32]: Fix mailslot code to use the static unicode string in the TEB for conversion, and correctly handle failure cases to bound names to MAX_PATH as Win32 demands. Also fix timeout conversions to use the correct timeout value for infinite timeout. [KERNEL32]: Reformat since 3-space identation is just murder. (Alex Ionescu)
  • [TRANSLATION] base/setup,shell and system conversion patch, by UTF-8 conversion patch by Elton Chung, see bug 6333; Romanian translation fixes and UTF-8 conversion by Stefan Fulea, see bug 6603; (Olaf Siejka)
  • [MESA32] Include headers in the proper order. Fixes mesa32 build. (Pierre Schweitzer)
  • [PSDK] Revert r54359. (Pierre Schweitzer)
  • [BLUE] "Remove" dependencies with user-mode without breaking CSRSS. (Pierre Schweitzer)
  • [PSDK]: I forgot this was the OS where drivers (blue.sys) import from SDK headers. Fix header. (Alex Ionescu)
  • [PSDK]: Add missing Console APIs. [CSRSS]: Add definition for the Sound Sentry CSRSS API. (Alex Ionescu)
  • [PNP] Kill some debug spam (Cameron Gutman)
  • [RTL] A bit more of the DPH code cleanup, no bugs found so far. (Aleksey Bragin)
  • [SERVICES] Allow changing the image path with ChangeServiceConfig. Fixes timeout that shouldn't actually be a timeout in advapi32:service test. See issue #6646 for more details. (Thomas Faber)
  • [BOOTDATA] Disable usbdrv I've heard too many reports of it breaking boot and too few reports of it actually working on real hardware (although it does work perfectly in QEMU) (Cameron Gutman)
  • [SERVICES] Move utility functions to the top (Thomas Faber)
  • [SERVICES] Do not use local memory functions (and possibly free the result using HeapFree!) Do not use double percent signs with _wcsnicmp DPRINT and style fixes (Thomas Faber)
  • [RTL] DPH: Improve RtlpPageHeapAllocate() code, make variable names consistent with the generic available/busy terms. Logic is absolutely unchanged. (Aleksey Bragin)
  • [SERVICES] Improve the parameter checks in RCreateServiceW. (Eric Kohl)
  • Hurray for misisng includes. (Alex Ionescu)
  • [TRANSLATION] Add some Romanian strings to the registry. Fulea Stefan, bug #6603. Add a few Russian strings, too. (Dmitry Gorbachev)
  • Forgotten file. (Alex Ionescu)
  • [KERNEL32]: Implement Wow64Enable/Disable/RevertWow64Direction, document the Rtl equivalents in NDK, export and implement them in NTDLL. [KERNEL32]: Cleanup files a bit. Bintype.c is gone and moved into VDM (these are functions for VDM support). Npipe.c and pipe.c are merged. Dosdev is moved into client, these are not quite File APIs. Base(8Bit/Unicode) APIs are moved into utils.c Wow64 APIs are moved into utils.c The mess that was file.c has the Replace* file APIs going into move.c (similar behaviors), the Open* APIs into create.c (similar) and the Read/Write Scatter/Gather APIs into rw.c (where they belong). What remained in file.c were mostly Set/Query functions, so it becomes fileinfo.c The remaining APIs in file.c were all about paths -- at the file level, specifically filenames, so they go into filename.c Move some File API functions from certain files into other files where they belong more. (Alex Ionescu)
  • [SERVICES] Use FIELD_OFFSET for variable-length structure sizes Handle an invalid parameter condition in RCreateServiceW. Fixes an advapi32:service test Do not dereference a NULL-pointer on out-of-memory (Thomas Faber)
  • [ADVAPI32][SERVICES] Remove unnecessary casts, fix some const-ness, fix a DPRINT, some spacing (Thomas Faber)
  • [MSVCRTEX] Fix some warnings Remove a ros-diff in favor of mingw-w64's solution (Thomas Faber)
  • [CRT] Export _resetstkoflw from msvcrt. Implementation from Wine 1.3.32 (Thomas Faber)
  • [NTDLL]: Export RtlImageNtHeaderEx and LodrLoadAlternateResourceModule. [NDK]: Add LdrLoadAlternateResourceModule. Fix RtlDosApplyFileIsolationRedirection_UStr and add flags. [NTDLL]: Halfplement LdrLoad/UnloadAlternateResourceModule. (Alex Ionescu)
  • Add missing struct to winnt.h. (Sylvain Petreolle)
  • [LWIP] Properly sync to lwIP 1.4.0 No code changes (except unit tests) (Cameron Gutman)
  • [CRT] Gracefully fail on NULL for gmtime functions. Fixes msvcrt:time crash (Thomas Faber)
  • [CRT] Sync heap.c and undname.c with Wine 1.3.32 Remove incorrect casts. Undo an incorrect warning fix. Fixes hang in msvcrt:cpp test (Thomas Faber)
  • [PSDK][KERNEL32] Fix some DWORD vs SIZE_T confusion for memory functions (Thomas Faber)
  • [Win32k|User32] Move control color support to Win32k. (James Tabor)
  • [KERNEL32] Small performance improvement : Directly reference dll when getting its handle instead of just checking it's there and then load it (Jérôme Gardou)
  • [UMPNPMGR] Implement PNP_GetHwProfInfo. Fix PNP_GetClassRegProp: Set the transfer length only in case of success. (Eric Kohl)
  • [FSLIB] Don't call the callback if the caller didn't give one (Cameron Gutman)
  • Fix crash in cursoricon test. (James Tabor)
  • [ROSAPPS] Add rosapps to build. (Sylvain Petreolle)
  • [DISKPART] Add a simple usage function (/? option). Simplify the interpreter loop a little bit. (Eric Kohl)
  • [DISKPART] Implement argument processing. Patch by Lee Schroeder. The original patch was modified to fix the following issues: Indentation and coding style. Remove obsolete code: 1. The if-statement around the for-loop is not needed. 2. The call to wcsicmp() is already case insensitive (it is the 'i' in wcsicmp). Check the existence of a script file name and a timeout value before trying to process them. Call run_script() after the argument list has been processed. This fixes the argument order issue. See issue #6552 for more details. (Eric Kohl)
  • [WINLOGON] Move playing log on sound to HandleLogon Don't use HKEY_CURRENT_USER for accessing user registry key. This key points to settings of user which started Winlogon process (SYSTEM) instead of logged user. Instead use HKU\SID. See issue #5436 for more details. (Rafał Harabień)
  • Update Liberation fonts to 1.07.1 (Rafał Harabień)
  • [WIN32K] Mouse code cleanup Support MOUSEEVENTF_VIRTUALDESK flag in MOUSEINPUT properly Support MOUSE_VIRTUAL_DESKTOP flag in MOUSE_INPUT_DATA properly Do not ignore MK_SHIFT and MK_CONTROL flags in some mouse messages (Rafał Harabień)
  • [TXTSETUP] - Add Polish (214) layout. It's now visible in usetup. (Rafał Harabień)
  • [REGISTRY] Mark the VGA driver as VgaCompatible too so it doesn't take precedence over the VBE driver in case both are installed. See issue #6578 for more details. (Kamil Hornicek)
  • [TRANSLATION] SysSetup: add a very tiny enhancement to Spanish translation (Elhoir, bug #6596). USetup: change encoding of Brazilian Portuguese file to CP 850. USetup: fix a few bugs in German and Italian translations. (Dmitry Gorbachev)
  • [LIVECD] Fix profiles path. FIXES ICONS IN LIVECD! Add few interfaces to livecd registry so it doesn't spam the log so much (Rafał Harabień)
  • [WINLOGON] If no keyboard layout can be loaded, load US layout Try to load all layouts from Preloaded key even if some of them fail (Rafał Harabień)
  • Add Polish keyboard layout (there was only "Polish programmer" layout). It should fix installing ROS in Polish. (Rafał Harabień)
  • [WIN32K|USER32] Make keyboard layouts code more compatible Layouts and kbd files are user objects Preloaded layouts are added by Winlogon, not win32k Support Keyboard Layout substitutes in registry (Rafał Harabień)
  • [TRANSLATION] Change time zone information for Russia. Add Russian translation of country list. Recode Swedish translation of USetup from CP 1252 to 850. Bug #6574. Fix Dutch tr. of USetup. Bug #6510, patch by <congruwer.AT.yahoo.DOT.co.DOT.uk>. (Dmitry Gorbachev)
  • [WINE] Undefine HAVE_GETADDRINFO Even though this is fully implemented (and used other parts of ROS), it seems to enable broken code paths in some WINE code Fixes the rapps regression (Cameron Gutman)
  • [WINE] Fix a couple of incorrect definitions Rapps is still regressed since r54146 (Cameron Gutman)
  • [TCPIP] Differentiate between incomplete and complete NCEs with regard to the timeout Change the IP timer to fire only once each second Remove unneeded completion functions (Cameron Gutman)
  • [TCPIP] Do not transmit fragments recursively since it can cause a kernel stack overflow with large packets Big thanks to hto for his work on this bug which has eluded me since last year See issue #5796 for more details. (Cameron Gutman)
  • [TRANSLATION] Romanian translation of userenv, winmm, ntvdm, and win32csr (bug no. 6580) and inf (bug no. 6577) by Stefan Fulea (minor corrections by me); Polish translation update/cleanup of inf by me; Spanish inetcpl translation (bug no. 6472) and French subst translation (bug no. 6166) by Jason Genie; (Olaf Siejka)
  • [WIN32K] Remove ReadRegistryValue in kbdlayout.c as we already implement RegQueryValue for reading from registry in W32k. This function additionally checks value type. Rename KBL to KL based on Techwiki HKCU\Keyboard Layout\Preload value is REG_SZ (not REG_EXPAND_SZ) NtUserLoadKeyboardLayoutEx should set last error if flags are invalid Minor keyboard layout code cleanup (Rafał Harabień)
  • [TRANSLATION] Fix some German formal addressing (Thomas Faber)
  • [registry] Mark the VBE driver as VgaCompatible. This is an outrageous lie, but it lets us use 3rd party drivers, like VBoxVideo, while VBE is installed. Consider this a hack, which is to be fixed bei either making vbemp really vga compatible or by fixing whatever keeps the VBoxVideo from replacing vbemp. (Timo Kreuzer)
  • [PSDK] don't define _cdecl and __cdecl to nothing on MSVC builds. define cdecl and CDECL to nothing add #pragma once this file is full of hacks (Timo Kreuzer)
  • [WINE/WS2_32] Sync config.h with recent Wine and remove some now unneeded defines. By Samuel Serapion. See issue #6174 for more details. (Amine Khaldi)
  • [KERNEL32/LIBWINE/USP10] Move the wctype table from kernel32 to libwine in preparations for implementing crt locale support. By Samuel Serapion. See issue #6538 for more details. (Amine Khaldi)
  • [UNICODE] Update unicode tool to wine 1.3.29. By Samuel Serapion. See issue #6537 for more details. (Amine Khaldi)
  • [CRT] Fix rbuild... (Timo Kreuzer)
  • [CRT] Remove _fltused from alldiv_asm.s / mscmain.c and use fltused.c instead. Remove amd64/alldiv.S Implement amd64 ceil, ceilf with sse [NTOSKNRL] Fix amd64 exports [ASM] Fix amd64 asm files to conform to the new syntax (Timo Kreuzer)
  • [BOOTDATA] Enable usbdrv.sys in 1st stage setup and the system hive USB keyboards and mice work now (file bugs if you have problems) (Cameron Gutman)
  • [RTL] Fix unix build. (Amine Khaldi)
  • [WINED3D] Finally recognize Mesa's GDI driver as HW_VENDOR_SOFTWARE. This commit was blessed by the Wine team. (Kamil Hornicek)
  • [RTL] Fix two bugs revealed by the newly added test in r54114. Original length of the passed string should be used when checking for out-of-buffer access in the loop PathChars should be updated if a DOS device name was found in the given string. See issue #6390 for more details. (Aleksey Bragin)
  • [ASM] Improve .proc / .endproc syntax, so that the full symbolic name is passed, which allows to create fastcall symbols. Remove the need to pass the function name to .endp (Timo Kreuzer)
  • [USER32|WIN32K] Convert wParam in WM_*CHAR messages to ANSI in GetMessageA instead of win32k. Fixes wrong characters used in cmake notepad which is ANSI. (Rafał Harabień)
  • [SYSSETUP] Allow creating of shortcuts with icon indexes != 0. [EXPLORER] Shuffle the resources a bit so icons with indexes 0 and 1 match those in windows explorer. See issue #6544 for more details. (Kamil Hornicek)
  • [Win32k] Restore global class operations. [ComCtl32] Use local class since this has higher priority over all global classes. [Themes] Tested with XP Luna and two others. Rune and another Luna. (James Tabor)
  • [Rtl] Replace RtlQueryInformationActiveActivationContext and set it based on wine. (James Tabor)
  • [Win32k] Support Active SxS for the window structures. (James Tabor)
  • [RTL] On x86 builds use the asm versions of the byte swap functions. This is neccessary for RtlUlonglongByteswap, because the function breaks the calling convention on Windows, not cleaning up the stack. Make the asm compatible to ML and improve it a bit. Investigated by Thomas Faber. (Timo Kreuzer)
  • [SERVICES] Do not keep the process handle of a started process open when sending a STOP command to a process failed, then succeed and mark the process as stopped. Fixes ghost processes, when terminating a service with taskmgr and allows to restart services that got terminated or possibly crashed. (Timo Kreuzer)
  • Improve some includes. (Amine Khaldi)
  • [RTL] Handle a NULL buffer in RtlIpv4AddressToStringA as Windows does. Fixes crash in ntdll:rtl test [CRT] Fail on qsort with 0 size. Fixes hang in ntdll:string test (Thomas Faber)
  • [STLPORT] Revert r54088 [GLU32] Do not use stlport headers with MSVC, as they are broken. Should really fix MSVC build (Thomas Faber)
  • [RTL] Rewrite RtlFindCharInUnicodeString. Fixes timeout in ntdll:rtlstr test. (Thomas Faber)
  • [STLPORT] Do not define min() or max() when standard headers are included. Should fix MSVC build (Thomas Faber)
  • [CMAKE] Use the gcc toolchain-provided STL. Use STLport only on MSVC builds. [KSPROXY] Set imagebase, properly set its entry point, use set_cpp() instead of hardcoded definition/includes and add no exceptions/rtti gcc flags. [GLU32] Use set_cpp() instead of the hardcoded target_link_libraries(). [PORTCLS] Use set_module_type() with proper entry point, instead of expanded macro calls, and get rid of hardcoded target_link_libraries(). Commit Dedicated to Olaf Siejka (Caemyr). (Amine Khaldi)
  • [NDIS] Fix NdisMWanIndicateReceiveComplete params. (Amine Khaldi)
  • [RTL] - Make sure RtlInitUnicodeString(Ex) don't set odd length. Fixes ntdll:rtlstr winetest. (Rafał Harabień)
  • [RTL] Fix possible integer overflow in RtlpInitializeHeapSegment Simplify loop in RtlIsDosDeviceName_Ustr Make MonthLengths an array of UCHARs instead of ints Remove pointless loops in RtlTimeToTimeFields Fix MSVC warnings (Timo Kreuzer)
  • Add register class name proc. (James Tabor)
  • [SMSS] Remove a hack for MSVC. (Timo Kreuzer)
  • [NTOSKRNL] Rename KTHREAD.DispatchHeader to Header Remove KeInitializeDispatcherHeader and initialize dispatcher headers depending on object type. Fixes all ntos:KeEvent and KeTimer kmtests. (Rafał Harabień)
  • [RTL] Silence a debugprint (Timo Kreuzer)
  • [Win32k] Implement get atom name for user32. (James Tabor)
  • Add new CreateWindowEx flags. (James Tabor)
  • [HALACPI] Work around a race condition related to devices reported before the I/O subsystem is fully up Fixes bug #6271 (Cameron Gutman)
  • [HAL] Do not write past the end of buffer. (Dmitry Gorbachev)
  • [SPEC2DEF] Support thiscall and float specifiers. By Samuel Serapion. See issue #6539 for more details. (Amine Khaldi)
  • [RTL] Post-r52687 implementation of RtlIsDosDeviceName_U is more advanced than pre-r52687 one and covers more corner cases which may not be tested by existing winetests. Thus bring back the post-r52687 and also introduce fixes for the following bugs in it: Incorrect extension/space-at-the-end truncation Incorrect encoding of returned offset/length pair Incorrect condition for for-loop exit Incorrect calculation of the return length in case of COMx/AUX devices (it should not include the terminating 0 character) After those trivial fixes (mostly oneliners and typos), the function works as expected and passes all ntdll_winetest path tests. Sorry for any inconviniences! (Aleksey Bragin)
  • [HAL] Implement support for scatter/gather DMA Tested with Intel's NDIS 5.1 PRO/1000 driver (but more testing would be helpful to weed out bugs) [NDIS] Report NDIS 5.1 now since S/G DMA is supported Stop warning when S/G DMA is used (Cameron Gutman)
  • [WIN32K] Rewrite keyboard input processing to match windows behavior Deduplicate code, add comments, mark functions static Support keyboard LEDs in SendInput API Set last error in more places Make keyboard layouts compatible with Windows Add some defines from keyboard layouts to kbd.h and use names from MS file Move kbd.h from ntoskrnl to NDK as it has nothing to do with kernel More fixes which I don't remember Please test CAPSLOCK key with AltGr characters (RALT+X) for layouts which support it. If something fails, report it to me on IRC (Rafał Harabień)
  • [NLS] Remove unused: icu4ros and all its dependencies (normalize, idna) (Pierre Schweitzer)
  • [TRANSLATION] netid, vmwinst romanian translation, see bug number:6531; resource updates and corrections in multiple romanian translations, see bug number: 6532; Patches by Stefan Fulea; [ACLUI] convert module to ReactOS resource style (separate lang directory); (Olaf Siejka)
  • Make some eol-styles consistent for .sln and .vcproj and .cmd (Timo Kreuzer)
  • Add a .hgeol file in the hope that it allows to get native line endings with hg (Timo Kreuzer)
  • [INFLIB] Fix memory leak (Pierre Schweitzer)
  • [WINLOGON] Do not call HandleShutdown() with NULL Session. (Dmitry Gorbachev)
  • [INTRIN] Use "unsigned int" for x86 __writecr*(), as it is (reportedly) used in VS10 headers. (Dmitry Gorbachev)
  • [PSDK] Missed this one. (Amine Khaldi)
  • [PSDK] Add some missing definitions. (Amine Khaldi)
  • Add Kazakh language to the registry. Patch by <seven_s*AT*mail*DOT*ru>. Bug #6277. (Dmitry Gorbachev)
  • [PSDK] Add some missing defines. (Amine Khaldi)
  • [XDK/DDK/PSDK] Fix a compiler (clang) warning. (Amine Khaldi)
  • [HEADERS/CRT] Work around an issue with clang and __debugbreak(). They mark __debugbreak as built-in (so we can't use ours) but it's not supported yet (so if we use nothing we get an error). (Amine Khaldi)
  • [UMPNPMGR] Implement PNP_GetCustomDevProp(). (Eric Kohl)
  • [PSDK] Add missing LAYOUT_LTR define. (Amine Khaldi)
  • [RBUILD] Plug a leak. (Amine Khaldi)
  • [ASM] Add data32 prefix for MSVC (Timo Kreuzer)
  • [NTOSKRNL] - Fix MSVC build [INCLUDE/C++] - Fix some typos in (obviously never used) typeinfo header [MSVCRTEX] - Use _DLL instead of _M_CEE_PURE (Thomas Faber)
  • [LIBPNG] - Update libpng to 1.55. Patch by Elton Chung <elton328 [at] gmail [dot] com>. See issue #6524 for more details. (Rafał Harabień)
  • [HEADERS/CRT] We don't need this guard anymore. (Amine Khaldi)
  • [HEADERS/CRT] Properly check for clang. (Amine Khaldi)
  • [FREELDR] use a dll instead of an exe for the freeldr_pe and setupldr_pe targets and add a spec file to export scsiport stuff. This is the first step in cleaning up the scsiport import hack in freeldr (Timo Kreuzer)
  • [NDK] Fix 64 bit issues of SYSTEM_VERIFIER_INFORMATION and SYSTEM_POOLTAG. Reported by dmex. (Timo Kreuzer)
  • fix some relocations (Giannis Adamopoulos)
  • [CRT] implement floor and floorf for amd64 with sse2 instructions (Timo Kreuzer)
  • [SERVICES] Minor fixes to ScmAssignNewTag Correctly handle an invalid parameter case in RCreateServiceW. Fixes second stage boot under certain circumstances. (Thomas Faber)
  • [SERVICES] Assign a new Tag to new or changed services. Patch by Thomas Faber! See issue #6147 for more details. (Eric Kohl)
  • [HAL] Fix a typo in HalpAllocPhysicalMemory, that caused the function to remove MADs that still had pages rather than removing those who are empty. Fixes an assertion on VMWare. Kudos go to Kamil for tracking it down. Fix another bug in HalpAllocPhysicalMemory, where the size of the newly allocated MAD was set to the alignment value instead of the original MAD, this lead to conflicting MADs and possible reuse of hal memory by the kernel. This seems to fix a bugcheck 0x19 with halacpi. (Timo Kreuzer)
  • [DISKPART] Install diskpart. (Eric Kohl)
  • [PSDK] Remove duplicate lines, noticed by sharpsighted forum people. (Dmitry Gorbachev)
  • [SERVICES] Silence debug messages. Fix typos. Add missing database locks. RControlService: Return ERROR_INVALID_PARAMETER on illegal control code. (Eric Kohl)
  • Commit forgotten file... (Rafał Harabień)
  • [MKHIVE] - Get all INF files from command line instead of using hardcoded names [CMAKE] - Use new mkhive syntax and fix livecd hives dependences [RBUILD] - Use new mkhive syntax (Rafał Harabień)
  • [BUGCODES] Bug check code 0x5d is UNSUPPORTED_PROCESSOR. [NTOSKRNL] Use it. (Dmitry Gorbachev)
  • [BUGCODES] Add SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION definition. (Aleksey Bragin)
  • [SMSS] Fix wrong behavior of the "native applications startup at boot time" feature in SMSS. Modifications: Added missing buffer allocation checks. Check for presence of default path. Minor clean-ups. Fix bad indentation/coding style. Original patch by Hermès BÉLUSCA. See issue #6180 for more details. (Eric Kohl)
  • [HAL] Report table lookup failures Report supported ACPI version (Cameron Gutman)
  • [undocuser.h] Add a definition for TrackMouseEvent timer (Giannis Adamopoulos)
  • Add the Diskpart utility by Lee Schroeder (milawynsrealm). The following modifications were made: Removed the help texts because they were copied from Windows Diskpart. Used a single string resource per help text. Used only Unicode strings and Unicode string functions. Replaced the giant if-statement in the command dispatcher in interpreter.c by a command-table and a little loop. Improved the command-line parser. Argument count and argument vector are passed to the command and help functions for easy evaluation. Moved the help function for commands into the command specific file. TODO: Implement all commands as the utility is only an empty frame. Add help texts. Translate help texts. See issue #6402 for more details. (Eric Kohl)
  • [WPP] Sync to Wine 1.3.29 to fix a warning (Rafał Harabień)
  • [PSDK] Bring-in some idl changes from Wine. These changes (and the related changes below) are to allow us to sync shell32 tests to Wine 1.3.29. [UUID] CLSID_TaskbarList is no longer needed in here. [ACTXPRXY] Sync with Wine 1.3.29. (Amine Khaldi)
  • [DDK/PSDK] Fix several typos. Patch by Elton Chung (elton328 at gmail dot com). Slight compatibility fix by me Add missing NTSYSAPI to some externs remove Se*DefaultDacl externs from ntifs, as they don't belong there, and are already correctly found in ndk/setypes.h (Thomas Faber)
  • [HAL] Revert part of r53788 (MAXIMUM_IDTVECTOR is a valid vector number) The buffer overrun in the IDT code was already fixed by r53420 (Cameron Gutman)
  • [TRANSLATION] Multimodule translation and UTF-8 conversion to Portugese Brazilian. Patch by mkbu95. Minor fixes by me; See issue #6467 for more details. (Olaf Siejka)
  • Czech localization (base/applications): UTF-8 conversion cleanup, fixed typos, translated some more English strings. (Kamil Hornicek)
  • [Desk|User32|UXTheme] Silence GCC 4.6 "variable 'foo' set but not used [-Werror=unused-but-set-variable]" warnings/errors. (Dmitry Gorbachev)
  • [EVENTLOG] Fix broken if condition (Pierre Schweitzer)
  • [HAL/x86] Completely fix one of the overruns (Pierre Schweitzer)
  • [HAL/x86] Fix buffer overruns (Pierre Schweitzer)
  • [CRT] Rewritten _tfullpath(). This: Fixes memory leak Fixes null pointer use Adds missing features Sets errno (Pierre Schweitzer)
  • [TRANSLATION] Massive Romanian translation patch by Stefan Fulea. See bugs 6468 and 6478; (Olaf Siejka)
  • [win32k] move function definitions from c files to headers (Giannis Adamopoulos)
  • [RTL] Remove qsort, its already in crt. Fix a number of MSVC/64 bit issues (Timo Kreuzer)
  • [OBJ2BIN] Fix memory leaks Fix resources leaks Fix wrong if statement (Pierre Schweitzer)
  • [MKHIVE] Fix memory leak (Pierre Schweitzer)
  • [LOG2LINES] Fix memory leak (Pierre Schweitzer)
  • [GENINC] Fix resources leak (Pierre Schweitzer)
  • [PEFIXUP] Fix resources leak (Pierre Schweitzer)
  • [RTL] Fix a number of MSVC/64 bit warnings/problems Fix return type of RtlpInitializeHeapSegment (by Roel) (Timo Kreuzer)
  • [RGENSTAT] Fix memory leaks (Pierre Schweitzer)
  • [REGTESTS2XML] Fix memory leaks (Pierre Schweitzer)
  • [NTOSKRNL] Keep APC delivery disabled while holding a Heap Lock, not just while acquiring/releasing it (Dedicated to Timo and Ged). Store the Heap Lock in non-paged pool, the only place where executive resources belong (Dedicated to patient people). [RTL] Restructure/simplify/correct Heap and Heap Segment initialization (partially to cope with the changed Heap Lock interface). Restrict the location of Heap Segment headers to the base address of the Heap Segment (which frees up a whopping 60 bytes per Heap!). Cater for acquiring the Heap Lock exclusively or shared (the latter is only available in kernel-mode); only exclusive locking is used for now. Use a plain critical section to guard the Process Heap list, no reason to disguise it as a Heap Lock (saves us a handful more bytes). (Roel Messiant)
  • Fix more unused-but-set warnings. (Dmitry Gorbachev)
  • add the themes service to boot cd (Giannis Adamopoulos)
  • [thmsvc] Add the themes service from the themes branch (Giannis Adamopoulos)
  • [uxundoc.h] Add a couple of definitions that I forgot to add (Giannis Adamopoulos)
  • [RTL] Fix a number of MSVC/amd64 warnings/problems Remove code duplication in RtlCharToInteger and RtlUnicodeStringToInteger Fixup too large string length in RtlInitAnsiString, RtlInitUnicodeString Use symbolic constants instead of hardcoded values Fix overflow check in RtlInitUnicodeStringEx (Timo Kreuzer)
  • [HPP] Fix memory leak (Pierre Schweitzer)
  • [SPEC2DEF] Fix resources leak (Pierre Schweitzer)
  • [STUBGEN] Fix resources leak (Pierre Schweitzer)
  • [NDK] Add the missing RtlpNt-Registry functions and move RtlpNtOpenKey into the NTOS_MODE_USER section. (Eric Kohl)
  • [RTL] Improve formatting, no code change (Timo Kreuzer)
  • [wingdi.h] merge one last header change from the themes branch (Giannis Adamopoulos)
  • [RTL] Improve formatting, no code change (Timo Kreuzer)
  • [headers] Begin merging from themes branch (Giannis Adamopoulos)
  • [HAL/NDK] Make Vector parameter in HalEnableSystemInterrupt, HalDisableSystemInterrupt and HalBeginSystemInterrupt an ULONG, not an UCHAR [NDK] 64bit fixes for HANDLE_TABLE, KPROCESS, SECTION_IMAGE_INFORMATION, MMADDRESS_LIST, MMVAD_FLAGS, MMVAD, MMVAD_LONG, MMVAD_SHORT, MEMORY_DESCRIPTOR, MEMORY_ALLOCATION_DESCRIPTOR, LdrVerifyMappedImageMatchesChecksum KDPC_DATA::DpcQueueDepth is signed on amd64, unsigned on x86 [NTOSKRNL] Fix hundreds of MSVC and amd64 warnings add a pragma message to FstubFixupEfiPartition, since it looks broken Move portable Ke constants from <arch>/cpu.c to krnlinit.c Fixed a bug in amd64 KiGeneralProtectionFaultHandler (Timo Kreuzer)
  • [CABMAN] Leak less resources (Pierre Schweitzer)
  • [RTL] Fix the overly complicated and buggy implementation of RtlIsDosDeviceName_Ustr based on the simple pre-r52687 implementation of RtlIsDosDeviceName_U. This fixes 14(!) wine tests. (Eric Kohl)
  • [RTL] RtlGenerate8dot3Name: Ignore spaces in long file names instead of converting them to underscores. See issue #6385 for more details. (Eric Kohl)
  • [WIN32K] syscalls are stdcall (Jérôme Gardou)
  • [HAL/APIC/AMD64] add common amd64 asm trap macros fix amd64 version of HackEoi send EOI in amd64 trap exit code, so we avoid using HackEoi modify HalpClockInterruptHandler for better portability fix amd64 TscCalibrationISR (Timo Kreuzer)
  • [REACTOS] wait patiently for rbuild going to Valhalla (Jérôme Gardou)
  • [REACTOS] get version.h and buildno.h out of precompiled headers, to avoid rebuilding the whole module each time we reconfigure the build (Jérôme Gardou)
  • [CRT] Implement MSVC versions of call_copy_ctor, call_dtor, continue_after_catch, __CxxFrameHandler Fix amd64 versions of _control87 and _statusfp Fix MSVC and amd64 warnings (Timo Kreuzer)
  • [HAL/APIC] Fix some stuff that gcc complains about. It doesn't like to use static data in non-static inline functions for some unknown reason. Implement support for level triggered interrupts, when using lazy irql (Timo Kreuzer)
  • [FREELDR/HAL/NDK] Move some shared constants (HYPERSPACE_BASE, MM_HAL_VA_START, APIC_BASE) to NDK to avoid duplicating them, also fix wrong values for amd64 Map the hal address space in amd64 freeldr Fix use of uninitialized variable (HighPart of PHYSICAL_ADDRESS) in HalpAcpiCopyBiosTable Fix some MSVC and amd64 warnings (Timo Kreuzer)
  • [PSDK] Use CHAR instead of char in STRRET structure (as documented in MSDN). Fixes compilation of shell32 with MSVC. (Timo Kreuzer)
  • [HAL] Fix amd64 build (Timo Kreuzer)
  • [HAL] Implement lazy irql for APIC. This is useful for VMs, since APIC usually has high overhead due to the need of invoking the hypervisor on every irql raise and lower. With lazy irql we avoid that until absolutely neccessary. Note that we misuse the PCR's IRR field to save the current hardware irql. Its a huge performance boost (some parts take half the time), making APIC performance close to PIC performance on VBox. This is something that Windows doesn't have :) (Timo Kreuzer)
  • Comment out some unused but set variables, remove some others. Allow warnings for some 3rd party code. (Amine Khaldi)
  • Comment out some unused but set variables, remove some others. Allow warnings for some 3rd party code. (Amine Khaldi)
  • [WS2_32_NEW] Fix an error found by PVS Studio [RAMDISK] Fix an error found by PVS Studio (Cameron Gutman)
  • [NTOSKRNL][RTL][DOC] Fix incorrect loop boundaries in the ARM version of MmCreateProcessAddressSpace. Spotted by Vincenzo Cotugno and cppcheck Correct outdated wineimport.cmd URL in README.WINE Assorted spelling and readability fixes (Thomas Faber)
  • [SERVICES] Add optional asynchronous io code for service control pipes. This is disabled by default due to bugs in NPFS. Read service pipe timeout value from the registry. (Eric Kohl)
  • [HAL] End the interrupt in HalpApcInterruptHandler and HalpDispatchInterruptHandler before calling the kernel, otherwise we would be stuck at high processor irql Improve HalEnableSystemInterrupt disable interrupts in HalpInitializeClock => APIC hal boots to desktop! (Timo Kreuzer)
  • Missed some assignments in debug.c. Add a dummy allow_warnings() for msvc build. (Amine Khaldi)
  • Comment out some unused but set variables, remove some others. (Amine Khaldi)
  • Fix some more unused but set variables. Allow warnings for some 3rd party code. (Amine Khaldi)
  • Fix some unused but set variables. Brought to you by gcc 4.6.1. Allow warnings for some 3rd party code. (Amine Khaldi)
  • [HAL] Use a global variable HalpBuildType instead of a define when checking the BUILD (we don't recompile this code for SMP hal) Move registering IRQ2 out of the generic init code into HalInitializePICs Modify legacy HalpGetRootInterruptVector to use HalpIrqToVector and HalpVectorToIrql so it works with APIC, too (Timo Kreuzer)
  • [RBUILD] Add kmtests to the CD (Thomas Faber)
  • [HAL/APIC] Implement HalpApcInterruptHandler, fix HalpDispatchInterruptHandler Insert a read to the APIC version register in ApicGetCurrentIrql(). This fixes inconsistencies between the internal APIC state and register reads/writes. Remove old hacks in ApicGetCurrentIrql() and ApicSetCurrentIrql Fix HalpVectorToIrql() read/write cr8 for the value of the TPR on amd64 builds Fix amd64 build (Timo Kreuzer)
  • [HAL] Add a hack to work around a bug in VBox: The APIC emulation requires an iret instruction following closely after writing the EOI register. Since we return from kernel mode traps with a jmp (yes you can return from an interrupt with a jmp!) the EOI is never triggered, making VBox believe we are still serving the interrupt and keeping the PPR on high level, preventing following interrupts. A small asm stub now does the work of both writing the EOI and doing an iret. (Timo Kreuzer)
  • [HAL] Add a hack to ApicGetCurrentIrql and ApicSetCurrentIrql to work around a VBox bug call KeSetTimeIncrement after initializing the rtc clock calculate TSC frequency from the samples Fix a bug in KeStallExecutionProcessor (Timo Kreuzer)
  • [undocuser.h] Move definition of UpdatePerUserSystemParameters to undocuser.h (Giannis Adamopoulos)
  • [WIN32K] Rewrite clipboard to match Windows implementation Clipboard uses window stations instead of global variables Data is saved in clipboard data user objects Memory is no longer leaked when winsta is destroyed Data is synthesized on demand Make internal functions static Fix possible memory corruption in IntGetAtomName More winetests are passed (Rafał Harabień)
  • Downgrade some DPRINT1s to DPRINTs. (Aleksey Bragin)
  • [HAL] Fix I/O APIC register access set APIC logical id based on Cpu (currently flat model with up to 8 cpus supported) In HalpInitializeTsc, setup the RTC clock, since the timer is initialized later in the TSC calibration ISR, send EOI and read RTC register C to get the next interrupt (Timo Kreuzer)
  • [HAL] Don't use debug prints before the debugger is even initialized acquire cmos spinlock when accessing the cmos registers Fix amd64 build (Timo Kreuzer)
  • [HAL] give apic hal its own halinit_apic give minihal an own halinit_mini.c containing function stubs move HalInitializeProcessor to halinit.c and add hal specific function HalpInitProcessor get rid of all the #ifndef _MINIHAL_ in halinit.c and move the file to lib_hal_generic improve the hal version/build check Update spec file for amd64 (Timo Kreuzer)
  • [HAL] move v86 code out of trap.S into v86.S (APIC uses a different trap entry file), compile it directly in the dll instead of a lib to be able to silence linker warnings Group files in HAL_PIC_SOURCE and HAL_APIC_SOURCE, you just need to replace PIC with APIC to build the hal with APIC support (we can later use it to build the other hals: halapic, halaacpi, halmacpi, halmps) use apic on amd64 builds give halacpi its own resource file silence MSVC linker warnings (Timo Kreuzer)
  • [HAL] Rename HalpAcquireSystemHardwareSpinLock to HalpAcquireCmosSpinLock (Timo Kreuzer)
  • [MKHIVE] Fix max key name length, max value name length, max value data length properties of registry key not being set correctly Fixes #6042 - regedit on LiveCD shows keys and values now (Rafał Harabień)
  • [HAL] Start implementing APIC support, which is needed for both SMP and x64. It will use the local APIC + I/O APIC for interrupt control, the RTC instead of the PIT for the timer interrupt (PIT doesn't always work with I/O APIC), the APIC timer for profiling and finally the TSC for the performance counter and KeStallExecutionProcessor. The code is incomplete and doesn't work yet (Timo Kreuzer)
  • [MUP] Any attempt to open or create a file on a remote machine will return STATUS_BAD_NETWORK_PATH. This means the server is not available. Trying to create \\testserver\testshare\testdir\test.txt fails just like on Windows XP. Add service key and values for the MUP driver. Add the driver to the File System group because adding it to the Network group, like on Windows XP, does not load the driver. (Eric Kohl)
  • [RTL] Add FPO information to some asm functions (Timo Kreuzer)
  • [RSYM] .stab/.stabstr sections have no IMAGE_SCN_LNK_REMOVE flag now. (Dmitry Gorbachev)
  • [HAL] Use functions instead of macros for irq<->vector<->irql translation, this will be neccessary, once apic support is there Disable mp hal in rbuild for now, its broken anyway (Timo Kreuzer)
  • [SERVICES] RStartServiceA: Convert the ANSI start arguments vector to a UNICODE vector and pass it to ScmStartService. Calls to StartServiceA can now be used to pass arguments to a starting service. (Eric Kohl)
  • [PSDK] put NOGDI guard at the right place... (Jérôme Gardou)
  • [PSDK] fix compilation for any fool wanting to use our headers outside of NT 5.2 scope (Jérôme Gardou)
  • [LWIP] fix warning in ros glue code (Jérôme Gardou)
  • [ROSSYM_NEW] fix some warnings fix function prototype. This might fix usermode stack logs (Jérôme Gardou)
  • [SERVICES/ADVAPI32] Pass the service start argument vector to the started service main function. ANSI services are not supported yet. (Eric Kohl)
  • [TRANSLATION] Romanian syssetup and usetup translation by Stefan Fulea <fulea.stefan> at <gmail.com>; Fix ipconfig build under MSVC, use "" instead of \" as escape character; (Olaf Siejka)
  • [HAL] Fix a dependency issue (Timo Kreuzer)
  • [HAL] Flatten the directory structure use static libraries in cmake builds as well to save build time (Timo Kreuzer)
  • [HAL] Don't use enums as bitfields. MSVC doesn't handle it the way gcc does. Fixes clock initialization on MSVC builds. You would wonder how the MSVC build even worked without a clock interrupt :D (Timo Kreuzer)
  • [USER32] Attempt to fix the relocation issue in the rbuild build. (Amine Khaldi)
  • [RTL][NETSHELL] Fix the remaining issues from preceding commits (Thomas Faber)
  • Fix multiple typos and bugs, found by PVS-Studio (Dmitry Chapyshev)
  • Fix typos, found by PVS-Studio (Dmitry Chapyshev)
  • Fix wrong macros usage, found by PVS-Studio (Dmitry Chapyshev)
  • Fix wrong macros usage, found by PVS-Studio (Dmitry Chapyshev)
  • Fix a bug, found by PVS-Studio (Dmitry Chapyshev)
  • [TRANSLATION] Fulea Stefan <fulea.stefan> at <gmail.com> : Mega Romanian translation commit. Bugs 6422, 6424, 6425, 6426, 6427, 6428, 6429, 6430, 6432, 6438, 6442, 6446, 6450 and 6451. (Amine Khaldi)
  • [FREELDR] Massively refactor the winldr code move common parts of LoadReactOSSetup and LoadAndBootWindows into LoadAndBootWindowsCommon Combine architecture specific code into 2 functions: WinLdrSetupMachineDependent prepares the main stuff and WinLdrSetProcessorContext is the last thing done before transferring control to the kernel. rename WinLdrTunOnPaging to WinLdrSetupMemoryLayout Stop wasting stack space by decreasing the number of huge text buffers used Don't handle x86 specific data like Tss in portable code Add the progressbar for reactos setup as well Add missing DPRINT_PELOADER to DEBUG_ALL (Timo Kreuzer)
  • [CMAKE] try to fix gcc build without breaking msvc (Jérôme Gardou)
  • Add msvcrt to KnownDLLs. This will enforce use of reactos msvcrt when apps provide one. Its required because cmake dlls currently depend on msvcrt for their startup code. (Sylvain Petreolle)
  • [NTOSKRNL] Update amd64 kd64 from ros-amd64-bringup (Timo Kreuzer)
  • [HAL] Small cleanup and fix amd64 build (don't use the PIT) (Timo Kreuzer)
  • [HAL] We cannot make any assumptions about the latency whith which the timer interrupt fires after a rollover, since VBox (other VMs probably as well) doesn't always meet this. Add another check to KeQueryPerformanceCounter that gracefully handles missing interrupts. Also raise to DISPATCH_LEVEL, since the function is not reentrant. (Timo Kreuzer)
  • [HAL] Rewrite KeQueryPerformanceCounter in C Implement support for changing the clock rate (Timo Kreuzer)
  • [INTRIN] add __nop() (Timo Kreuzer)
  • [KDBG] Don't enable int3 first chance handling by default. Should fix ntdll exception winetest. Found by Arty. (Timo Kreuzer)
  • [WIDL] reenable -Oif flag, it's too good to be disabled With this commit, advapi32:service winetest suffers only 2 failures. (Jérôme Gardou)
  • [WIDL] duplicate type entry for parameters with the range attribute. This fixes the problem that Eric Kohl detected. This has already been sent to wine. (Jérôme Gardou)
  • [INTRIN] Add missing memory barriers to _enable, _disable and __halt (Timo Kreuzer)
  • [IDL] fix definition of PPCONTEXT_HANDLE (Jérôme Gardou)
  • [SHELL32] Fix Shell_MergeMenus return type. (Amine Khaldi)
  • [WIDL] Revert parts of r53171: Remove the -Oif flag for WIDL because the NT4 stub code generated by the current WIDL is heavily broken with respect to the range attribute and others. Please enable the -Oif feature only after these bugs are fixed in WIDL! (Eric Kohl)
  • [NTDLL/LDR] Improve DPRINTs Fix some MSVC warnings [NTOSKRNL] Fix missing exports (Thomas Faber)
  • [CRT] Do not skip calling DllMain on non-GCC builds (Thomas Faber)
  • [HAL] Fix amd64 build (Timo Kreuzer)
  • [CRT] Add frame pointer omission info to strcpy and wcscpy (Timo Kreuzer)
  • [INF] Add Polish translation of device names (Rafał Harabień)
  • [user32/win32k] cleanup internal headers remove unused functions and definitions move shared definitions to ntuser.h (Giannis Adamopoulos)
  • [KSPROXY/KS/SCSIPORT] Use sizeof(PVOID) instead of sizeof(PFOO) just for clarity that we really want a pointer size [SCSIPORT] Don't initialize a pointer with RtlZeromemory (Timo Kreuzer)
  • [INTRIN] Fix _bittest64 prototype [STLPORT] Fix amd64 build of modules using these headers (Timo Kreuzer)
  • Slightly rearrange base addresses to get rid of DLL relocations during bootup. (Aleksey Bragin)
  • [HAL] Add PCI_HAL device for non-ACPI machines. Code taken from the ACPI-HAL. This is just a quick hack and needs some more improvements. (Eric Kohl)
  • [HAL] Handle IRP_MN_QUERY_CAPABILITIES for the ACPI_HAL device object [PNPMGR] Don't bring up a device if a required IRP has failed Don't perform operations on a child if it is not ready yet (Cameron Gutman)
  • [HAL/NTOSKRNL] Fix an off-by-one bug in the IDT table size (Cameron Gutman)
  • [DDK/XDK] Add function types, not only function pointers types for EXPAND_STACK_CALLOUT and KSYNCHRONIZE_ROUTINE (Thomas Faber)
  • [NTOSKRNL] Do not return an NTSTATUS from KeSynchronizeExecution, which returns BOOLEAN [KERNEL32] Do not return an NTSTATUS from BasepGetModuleHandleExW Found by MSVC. (Thomas Faber)
  • [EVENTLOG] Don't use sizeof for a variable-length structure Fix string buffer building (Thomas Faber)
  • [HAL/VIDEOPRT/EVENTLOG] Really fix some of the sizeof issues (Timo Kreuzer)
  • [EVENTLOG] Fix a bad sizeof(). (Amine Khaldi)
  • [HAL] Fix a couple bad sizeof(). (Amine Khaldi)
  • [XDK/DDK] Add KeSaveFloatingPointState as well (Timo Kreuzer)
  • [DDK(XDK] Add inline functionss Ke*FloatingPointState for amd64 and arm, doing nothing. Noticed by Thomas Faber. (Timo Kreuzer)
  • [VMWINST] Fix amd64 build [NTDLL] add missing amd64 specific exports [MSVCRT*] Fix mangled c++ exports for amd64 [OLEAUT32] Add amd64 adm stub for call_method, fix MSVC/amd64 build [RICHED20] Fix MSVC thiscall wrapper [RPCRT4] add amd64 specific asm [KSFILTER] Add c++ aliases, use dummy KeSaveFloatingPointState and KeRestoreFloatingPointState on non-x86 builds [KMIXER] Fix a broken DPRINT [PSEH] Priorize native SEH over dummy SEH (Timo Kreuzer)
  • [RTL] Remove duplicate function [CRT] add _local_unwind stub and fix c++ symbols (Timo Kreuzer)
  • [INTRIN] Deconstify most parameters in the intrinsics. add __movsq, _bittest64, __umulh (Timo Kreuzer)
  • [HAL] Fix device reporting to work with the IoReportDetectedDevice patch [HAL/ACPI] Turn debugging off (Cameron Gutman)
  • [INF] Install the processors class Add missing INFs to syssetup.inf (Cameron Gutman)
  • [LIBSAMPLERATE] Fix amd64 build (Timo Kreuzer)
  • [CRT] Fix definition of __m128d and __m128. (Timo Kreuzer)
  • Update list with the latest changes by jgardou. Remove an obviously wrong citation. (Eric Kohl)
  • [CRT] add minimal versions of emmintrin.h, mmintrin.h, xmmintrin.h just enough for libsamplerate (Timo Kreuzer)
  • [LIBSAMPLERATE] Update to version 0.1.8 Supports amd64 now (Timo Kreuzer)
  • [STLPORT] Fix Interlocked* declarations Fix amd64 build (Timo Kreuzer)
  • [SERVICES/ADVAPI32] Rewrite the command packet transfer code between the service control manager (services.exe) and the service control dispatcher (advapi32.dll). The service name is no longer stored in an array of WCHARs at the end of the command packet. The service name is now stored behind the fixed size command packet header using an offset value in the header to determine the start of the string. The same method will be used to store start arguments to the service dispatcher, but it is not fully implemented yet. (Eric Kohl)
  • [PCI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT [PNPROOT] Fix registry query and returning of device description [ACPI] Fix handling of IRP_MN_QUERY_DEVICE_TEXT (Cameron Gutman)
  • [VFATLIB] Fix completely non-standard, broken and retarded definition of GET_UNALIGNED_W for 64 bit architectures The function is supposed to read an unaligned little endian USHORT value. The old version copied the 2 bytes with memcpy to an aligned stack variable and then (bug bug) read the unaligned value directly (discarding the result of the previous operation) and passed it to bswap if neccessary. The new function simply reads the 2 bytes and combines them using << and |. (Timo Kreuzer)
  • [CRT] Make .CRT sections always read only. (Timo Kreuzer)
  • [RTL] Fix a typo (Timo Kreuzer)
  • [NTDLL] Add exports for RtlInstallFunctionTableCallback and RtlRestoreContext (amd64 only) [KERNEL32] Forward RtlCompareMemory, RtlCopyMemory, RtlDeleteFunctionTable and RtlInstallFunctionTableCallback to ntdll Fix build with MSVC amd64 (Timo Kreuzer)
  • [CRT] Add __C_specific_handler stub Add aliases for C++ code on amd64 builds Fix fmod symbol Merge .CRT section into .data on amd64 remove an old hack (Timo Kreuzer)
  • [PSDK] Simplify definition for YieldProcessor and add DbgRaiseAssertion for amd64 in winnt.h [ASM] Fix some stuff for amd64 (Timo Kreuzer)
  • [CRT] guard some inline functions from being used in certain cases (Timo Kreuzer)
  • [ASM] prefix labels only on x86 improve syscall stub code (Timo Kreuzer)
  • [HAL] Debugging changes (Cameron Gutman)
  • [HAL] Hey Arch, don't combine code for 2 different length calculation algorithms into 1 broken mess (Cameron Gutman)
  • [HAL] Add (and fix) more validation and debugging (Cameron Gutman)
  • [HAL] Fix the length calculation for the resource requirements list (Cameron Gutman)
  • [RTL] Hack around lds inability to detect used functions, when they are exported. (Timo Kreuzer)
  • [HAL] Simplify device extension setup Allocate memory for existing PDOs in the device relations struct (Cameron Gutman)
  • [RTL] Fix this rbuild thingie (Timo Kreuzer)
  • Enable debug prints temporarily in an attempt to help diagnose the ACPI issues (Cameron Gutman)
  • [RTL] Rename memgen.c to byteswap.c and merge with the implementations from largeint.c, that were using intrinsics Fix amd64 build (Timo Kreuzer)
  • [INTRIN] Use fixed inlined version of __invlpg only on x86 (Timo Kreuzer)
  • [HAL] Don't use a hard-coded constant instead of PAGE_SHIFT (Cameron Gutman)
  • Free memory using a valid tag Don't use a hardcoded constant for pointer size Don't access invalid memory when an SCI is absent (fixes ASSERT(Descriptor->u.Interrupt.MinimumVector == Descriptor->u.Interrupt.MaximumVector) failure) Remove unreachable code (Cameron Gutman)
  • [LWIP] Add missing dependency on bugcodes. (Amine Khaldi)
  • [EVENTLOG] Stop listening to RPC messages when receiving SERVICE_CONTROL_STOP (Jérôme Gardou)
  • Include NDK headers on-demand. (Amine Khaldi)
  • [HALACPI] Add to build. Dedicated to Cameron. [SPEC2DEF] Add an option to set the name of the output def file. (Amine Khaldi)
  • [USETUP] Autodetect ACPI like we autodetect a multiprocessor configuration This will make the ACPI HAL the default on ACPI-compliant machines while the standard HAL will continue to be the default on older machines Please file bugs for any issues encountered when running in ACPI mode and assign them to me (I think it's very important to have working ACPI for 0.4.0 so I'd really like to get everything fixed now) [TXTSETUP.SIF] Add a MP configuration for ACPI HAL Slightly modify the names of each HAL configuration (Cameron Gutman)
  • [TXTSETUP.SIF] Add an option to install the ACPI HAL Feel free to try it out (you might be surprised) (Cameron Gutman)
  • [INF] Add hal.inf (Cameron Gutman)
  • [HAL] Also report the *PNP style IDs Don't hang when a power IRP is received (Cameron Gutman)
  • [HAL] Invalidate device relations so the child devices get enumerated (Cameron Gutman)
  • [HAL] Fix string length calculation (Cameron Gutman)
  • [HAL] Fix a bug writing the DisableFirmwareMapper entry (Cameron Gutman)
  • [HALACPI] Fix several bugs involving garbage data in a PHYSICAL_ADDRESS struct (Cameron Gutman)
  • [HAL] Fix incorrect modification of device object flags (Cameron Gutman)
  • [ROSSYM_NEW] add missing debug.h include (Jérôme Gardou)
  • [ROSSYM_NEW] including debug.h once is enough This time for real, sorry. (Jérôme Gardou)
  • [ROSSYM_NEW] including debug.h once is enough (Jérôme Gardou)
  • [ROSSYM_NEW] please, do not include debug.h from precompiled header :-/ (Jérôme Gardou)
  • [AUTOCHK][CMD][TASKMGR] Exclude some indirectly included headers. (Amine Khaldi)
  • [SERVICES] Fix the GENERIC_ALL access rights mapping for service handles. (Eric Kohl)
  • [AUTOCHK][CMD][TASKMGR] Include NDK headers on-demand. (Amine Khaldi)
  • [UMPNPMGR] Store the correct buffer size for requests that aren't satisfied via the registry Fixes displaying the enumerator on the device manager property page (Cameron Gutman)
  • [NTOSKRNL/WIN32K/NDK] OkToClose procedure (OB_OKAYTOCLOSE_METHOD) returns BOOLEAN, not NTSTATUS Check ppi for NULL before dereferencing it in IntWinstaOkToClose (it is NULL, if we do our job of cleaning up the win32 process properly) Set the win32 process info to NULL on process cleanup Free THREADINFO and PROCESSINFO instead of leaking them Set NULL cursor, when the last thread is cleaned up in win32k, so we don't call UserSetCursor() in the process cleanup, when we don't have a THREADINFO anymore. This should hopefully fix a crash of MSVC builds. Remove unused UserGetNextHandle function Fix some warnings (Timo Kreuzer)
  • [ADVAPI32] Fix QueryServiceConfigEx[A/W]: If lpServiceConfig is NULL or cbBufSize is less than sizeof(QUERY_SERVICE_CONFIGA/W) pass a pointer to an internal status buffer to RQueryServiceConfigA/W. Revert r53153 and r53154. Adding 'in' and 'unique' attributes is NOT an option because this is not compatible with Windows. (Eric Kohl)
  • [IP] Zero the sin_zero member in the TDI_ADDRESS_IP struct (Cameron Gutman)
  • [CRT] Add assembly stubs and aliases for c++ symbols for MSVC (Timo Kreuzer)
  • [SPEC2DEF] Ignore redirections for c++ symbols, since this doesn't work with link (Timo Kreuzer)
  • [LWIP] Rewrite receive code to make it much simpler, handle some corner cases that weren't treated correctly, and fix the data corruption bug Downloaded successfully (no data corruption): OpenOffice 2.4, OpenOffice 3.3, BitTorrent 7.2.1, Firefox 5, Firefox 3.6, Firefox 3, Firefox 2, Abyss Web Server, Opera 9.64, and Opera 11.01 (Cameron Gutman)
  • [LWIP] Fix a buffer overflow when the packet queue has more packets than the receive request can take Remove an extra variable (Cameron Gutman)
  • [WIDL] Reapply the switchtype patch from widl-ros.diff. This patch should be sent upstream to wine. See issue #6406 for more details. (Eric Kohl)
  • [LWIP] Fix user-initiated hard connection closures (Cameron Gutman)
  • [WIDL] use -Oif flag to produce modern (!) NT4 stubs, with Microsoft extensions to IDL language. [ADVAPI32] Initialize *pcbBytesNeeded, as it's marked as [in], it needs to be in the 0-8k range before being passed to RPC. Now 2nd stage got his mouse and keyboard again. (Jérôme Gardou)
  • [LWIP] Remove 2 custom definitions to use the default values (Cameron Gutman)
  • [ROSSYM_NEW] Add RosSymAggregate and RosSymFreeAggregate stubs for MSVC (Timo Kreuzer)
  • [RTL] Fix MSVC warning about signed/unsigned mismatch. In this case it was not a bug, because the compiler implicitly casts to unsigned, when signed and unsigned are compared, so (-1 < 0x23U) is false. (Timo Kreuzer)
  • [WIDL] Don't include non host headers for host executables I'm sure my dog told me that once. (Jérôme Gardou)
  • [TOOLS] sync wpp, widl and wrc with wine 1.3.26 (Jérôme Gardou)
  • [LWIP] Tune several TCP attributes to behave similarly to Windows XP (Cameron Gutman)
  • [SERVICES] addendum to r53153 : [unique] and [ptr] can't be applied to [out] only parameters, so mark them as [in] too. Now MSVC build gets as far as 3rd stage. (Jérôme Gardou)
  • [SERVICES] mark pointers argument of RQueryServiceConfigA/W as [unique], since they can be NULL. See http://msdn.microsoft.com/en-us/library/aa367153%28v=VS.85%29.aspx for details. (Jérôme Gardou)
  • [INTRIN] memory barriers implement a fixed version of __invlpg for MSVC, since the intrinsic is broken and can generate wrong instructions, when optimization is enabled add MSVC versions of _mm_mfence, _mm_lfence, _mm_sfence and __faststorefence add _mm_mfence() for gcc give _mm_lfence, _mm_sfence, __invlpg and __wbinvd proper (Timo Kreuzer)
  • [RTL] Fix MSVC warnings (Timo Kreuzer)
  • [IP] Merge r53134 and r53135 from the GSoC TCP/IP branch (Cameron Gutman)
  • [LWIP] Fix msvc build (Timo Kreuzer)
  • [INTRIN] _mm_pause has an implicit full memory barrier, emulate this on gcc as well (Timo Kreuzer)
  • [IDL] set end points of interfaces (Jérôme Gardou)
  • [TRANSLATION] Resize controls to allow wider strings of polish translation to fit in; Assorted translation fixes, added missing strings; Patch by Adam Stachowicz (Saibamen) and wojo664, minor corrections by me; (Olaf Siejka)
  • [IP] Remove an obsolete comment (Cameron Gutman)
  • [WIN32K] - Fix uninitialized variable usage [ADVAPI32] - Fix a TRACE [PCIX] - Fix statements without effect Spotted by MSVC. (Thomas Faber)
  • [SERVICES] Fix coding style. No code changes. (Eric Kohl)
  • [PSDK] do not redefine UNICODE_STRING and NTSTATUS if wintrnl.h has already been included define PNTSTATUS in wintrnl.h add RPC_PROTSEC_VECTOR and RPC_MGMT_AUTHORIZATION_FN definitions (Jérôme Gardou)
  • [NDK] Add RtlCompareMemoryUlong and RtlCopyBytes/RtlFillBytes/RtlZeroBytes (Thomas Faber)
  • [DHCPCSVC] - Fix another funny GetLastError DPRINT.
  • [NETID] - It's unicode! Surprising it even worked. Fixes warnings [SACDRV] - Fix entry point warning [CRT] - Fix MSVC warning (Thomas Faber)
  • [DDK/XDK] Add function types, not only function pointer types, for splay/avl tree functions RTL_SPLAY_LINKS needs to be defined regardless of RTL_USE_AVL_TABLES [NDK] Add missing splay/avl tree function declarations Add the function types as well. These are also not in ntifs anymore (Thomas Faber)
  • [CSRSRV] Define NDEBUG only once Don't define helper macro in the source DPRINT fixes [NTDLL/LDR] More verbose DPRINT for initialization failure (Thomas Faber)
  • [KERNEL32] - Fix DuplicateHandle return value [WIN32CSR] - Fix DPRINT (Thomas Faber)
  • [PSDK] mark operators == et != of REFPROPERTYKEY as C++ externs (Jérôme Gardou)
  • [CSRSS]: Fix broken logic. (Alex Ionescu)
  • [CSRSRV/KERNEL32]: Have CSRSS create a proper shared section (Based on code taken from the CSRSS rewrite in trunk) and attach it to every client. [CSRSRV/KERNEL32]: Have CSRSS fill out the base server static data. Still a bit of a hack since we should have a basesrv to do this, but it'll fix the "can't install any drivers" bug as well as increase performance since we now cache a bunch of data system-wide. [KERNEL32]: Remove all related hacks in kernel32. [CSRSRV]: Only accept the incoming connection if we found CSR process data about it. (Alex Ionescu)
  • [SERVICES] If a service will be started and another service is already running in the same image, send a start command instead of starting the process again. This enables us to run multiple services within a single process, like svchost.exe. (Eric Kohl)
  • [PSDK/WINNT.H] add DEFINE_ENUM_FLAG_OPERATORS macro (Jérôme Gardou)
  • [TCPIP] Remove the extra debug prints since the bug has been fixed (Cameron Gutman)
  • [RTL] Implemenet SwapSplayLinks, return 'NewElement' correctly when inserting. Thanks to Alex Ionescu for helping out with this patch. (Art Yerkes)
  • [OSKITTCP] Force the connection to be closed immediately Hopefully will fix the random bind issues caused by oskit becoming out of sync with the rest of the IP library (Cameron Gutman)
  • [IP] Add some temporary debug prints to troubleshoot some seemingly random bind failures (Cameron Gutman)
  • [SERVICES] ScmCreateOrReferenceServiceImage: Link the SERVICE_IMAGE struct to the SERVICE struct in the create and the reference case. Otherwise only the first service started from an image gets a valid pImage pointer. Add some debug code. (Eric Kohl)
  • [FULLFAT] Add missing bugcodes dependency, spotted by elhoir. (Sylvain Petreolle)
  • Add "-fno-omit-frame-pointer" compiler option. GCC 4.6 omits on -O2 and -O3 level. (Dmitry Gorbachev)
  • [NDK/DDK] Fix definitions of ZwPowerInformation and ZwInitiatePowerAction (Jérôme Gardou)
  • [MINGW-W64] Reduce differences with upstream. Fixes crash if ReactOS is compiled with GCC 4.6. (Dmitry Gorbachev)
  • [AUDIOSRV] Designate audiosrv.h as a precompiled header and use it as one. (Amine Khaldi)
  • [CSRSRV|NTOSKRNL|KERNEL32|NTDLL] Fix multiple definition of variables. (Dmitry Gorbachev)
  • [NDK] Remove Resource functions, as they are in wdm.h add KeTryToAcquireQueuedSpinLockRaiseToSynch, ExRaiseHardError & enum members Patch by Thomas Faber (Olaf Siejka)
  • [NDK]: ntpoapi.h only includes Nt functions, not Zw, so leave the Zw's in the NDK. (Alex Ionescu)
  • [NDK]: Fix Po function prototypes. Also guard against _PO_DDK_ which means caller already has ntpoapi.h. (Alex Ionescu)
  • [NDK]: Add missing native power functions. [KERNEL32]: Cleanup the power APIs. Fix calculation of battery percentage in GetSystemPowerStatus. (Alex Ionescu)
  • [CRT] get back atexit handling as it was before. (reverts 52838, 52829, 52828) Thanks to Kai and Timo for the explanation (Jérôme Gardou)
  • Save the project from possession by evil spirits. (Dmitry Gorbachev)
  • [MSVCRTEX] I say let msvcrt handle atexit registered functions. Fix msvc build (Jérôme Gardou)
  • [ATL] Invoke the member function through "this->". (Dmitry Gorbachev)
  • woops, sorry :-) (Jérôme Gardou)
  • [LIBWINE] new tentative to fix build : get rid of libwine's stricmp, we have it in our crt (Jérôme Gardou)
  • [MSVCRTEX] aply 52828 as well (Jérôme Gardou)
  • [MINGW_COMMON] get rid of atexit handling, it's arlready handled by msvcrt. The funny thing is that the only module using this is msvcrt_winetest, which tested the mingw implementation, not the msvcrt one. (Jérôme Gardou)
  • [CRT] fix stupid gcc warnings patch by Igor Paliychuk (Jérôme Gardou)
  • [CRT] import bessel's function j0, j1, jn, y0, y1, yn from glibc (Jérôme Gardou)
  • [KERNEL32]: SleepEx forgot to de-activate the SxS frame. (Alex Ionescu)
  • [ROSTESTS] Add 3 missing tests to rbuild testcd. Thanks to Caemyr and Testman. (Sylvain Petreolle)
  • [SPEC2DEF] fix forward name export for c++ mangled functions. (Jérôme Gardou)
  • [SPEC2DEF] Fix creation of stubs for c++ mangled names (Timo Kreuzer)
  • [HIVES] Fix Nls registry keys casing. Tested by Alex. (Sylvain Petreolle)
  • [NLS]: Kill this directory from the build. It produced nothing other than a Vista-calling DLL which was never even on the BootCD. [KERNEL32]: Remove GetLocaleInfoEx again. [KERNEL32]: It seems CMAKE build doesn't like kernel32 code calling "HeapAlloc" because HeapAlloc doesn't exist -- it's a forward to RtlAllocateHeap. As a hack, add compiler defines to do the forwarding in C code as well. (Alex Ionescu)
  • [PSDK]: Add missing RESETDEV define to winbase. [WINE]: Wrap Wine's get_char_typeW to iswctype in unicode.h, which will allow better sharing of synched code. (Alex Ionescu)
  • [RTL] Fix a couple of potential null pointer accesses (Cameron Gutman)
  • [RTL] Validate parameters passed into path functions (Cameron Gutman)
  • [PSDK]: Add missing QUOTA_LIMITS_EX. [NDK]: Fix certain SxS functions. [RTL]: "Implement" RtlActivateActivationContextEx which lets you specify a TEB. RtlActivateActivationContext uses the current TEB. NOTE: All these functions are broken because they copy-paste Win32 wine code into NT Native functions (with different parameters/structures). [NDK]: Fix pstypes.h -- it was a #define mess, and worked by luck because we are a < Vista OS. [NDK]: Add RtlInitEmptyAnsiString. (Alex Ionescu)
  • [RTL] Fix the string length calculation for the partial name Fixes the 2nd stage regression (Cameron Gutman)
  • [RTL] Fix returning relative path names for path API calls using RtlpDosPathNameToRelativeNtPathName_Ustr on the backend (Cameron Gutman)
  • [IP] Register an interface route for interfaces with a static IP address (Cameron Gutman)
  • [RTL]: Makes sure there is a curdir handle. (Alex Ionescu)
  • [RTL]: Fix a typo in RtlpDosPathNameToRelativeNtPathName_Ustr thanks so smiley. [RTL]: Implement the unimplemented corner case based on the old ReactOS code. (Alex Ionescu)
  • [RTL]: Implement RtlDosPathNameToRelativeNtPathName_U_WithStatus, RtlDosPathNameToRelativeNtPathName_U, RtlDosPathNameToNtPathName_U_WithStatus. [RTL]: Reimplement RtlDosPathNameToNtPathName_U to use UNICODE_STRING semantics. [RTL]: Fix RtlGetFullPathName_Ustr. [RTL]: RtlGetFullPathName_U remains based on the legacy non-UNICODE_STRING mechanism, but it's too complex to attempt changing for now. (Alex Ionescu)
  • [SERVICES] Fix an MSVC warning (Timo Kreuzer)
  • [IP/OSKITTCP] Fix a race condition that occurs when the socket is closed by the remote host while waiting on OSKLock to perform a socket operation and results in accessing freed memory (Cameron Gutman)
  • [SERVICES] Implement service image records. This will enable us to run executables that contain multiple services and control them individually. (Eric Kohl)
  • [RTL]: Implement RtlGetFullPathName_Ustr, not yet used. [RTL]: Simplify RtlDosSearchPath_U by not using a temporary "char" value, and just reading straight from the string buffer. (Alex Ionescu)
  • [D3D] Do not link d3dx9 dlls to wined3d. (Sylvain Petreolle)
  • [RTL] fix RtlDosSearchPath_U : do not alter filename while searching for file extension (Jérôme Gardou)
  • [ASM] Generate MSVC debugging info for KiUserExceptionDispatcher, KiIntSystemCall, KiFastSystemCall, KiFastSystemCallRet, KiSystemService, KiFastCallEntry, all systemcall stubs Now usermode backtraces look as they should in WinDbg (Timo Kreuzer)
  • [RTL]: Cleanup, no code changes. (Alex Ionescu)
  • [NDK]: Add RtlReleaseRelativeName. [RTL]: Re-implement RtlDosSearchPath_U using new path functions from past commits. Uses correct behavior with RtlDoesFileExists (for relative paths, return success when file is locked -- for absolute paths, do not!). Also uses a more optimized path loop that does not alloc/realloc/free heap continously (only one heap allocation is used). (Alex Ionescu)
  • [RTL]: Fix RtlDoesFileExists_UEx, thanks to ThFabba. (Alex Ionescu)
  • [NDK]: DEPENDENCY TRACKING. GET IT RIGHT. GODDAMN IT RBUILD. (Alex Ionescu)
  • [RTL]: Implement RtlIsDosDeviceName_Ustr and make RtlIsDosDeviceName use it. Uses UNICODE_STRING APIs everywhere and similar to the old implementation. (Alex Ionescu)
  • [RTL]: Implement RtlDoesFileExists_UstrEx, RtlDoesFileExists_UStr, RtlDoesFileExists_UEx. [RTL]: Make RtlDoesFileExists_UStrEx use the new RTL_RELATIVE_NAME structure and also support whether or not sharing violations should return success or not. [RTL]: For now, use the old RtlDosPathNameToNtPathName API instead of the newer one. (Alex Ionescu)
  • [RTL]: Fix prototype of RtlDosPathNameToNtPathName_U and fix code to match the new prototype. [NDK]: Add RTL_RELATIVE_NAME_U which is the Windows 2003+ structure used instead of CURDIR for all relative path APIs. (Alex Ionescu)
  • [IP] Store the address of an outgoing NIC properly (gethostname() fix) Don't do an explicit bind if we don't have to (ws2_32_winetest sock hang fix) (Cameron Gutman)
  • [IP] Reset the reassembly timeout when a new fragment is received (Cameron Gutman)
  • [OSKITTCP] Fix a crash that occurs during BitTorrent downloads The official BitTorrent client works now (Cameron Gutman)
  • [NTDLL]: Always compile your code before comitting, like my cat used to say. (Alex Ionescu)
  • [NTDLL]: Reimplement RtlGetCurrentDirectory_U... I couldn't even understand what the old version was doing. This one is at least commented and makes more sense. (Alex Ionescu)
  • [RTL]: RtlDetermineDosPathNameType_U Path is not optional. Checked build ASSERTs if not present. Also, \\? is valid, not only \\., so this should fix a bunch of incorrect path determinations. Aren't there supposed to be unit tests for these things?! (Alex Ionescu)
  • [RTL]: Clarify what RtlGetLongestNtPathLength returns instead of using "+9" as a magic constant. (Alex Ionescu)
  • [RTL]: One day, Microsoft is going to stop using flags that are negatives. Fix boot/etc. (Alex Ionescu)
  • [NDK]: Add missing RtlImageNtHeaderEx flags. [RTL]: Implement RtlImageNtHeaderEx and make RtlImageNtHeader call it. This will result in much stricter (and correct) PE loading by default, and enable a flag which can do even stricter checks. [NTDLL]: Export RtlImageNtHeaderEx (maybe NTOS should export it too, not sure). (Alex Ionescu)
  • Add more NT status messages. Few of them are used by new LDR. Contains patch by Thomas Faber. (Rafał Harabień)
  • [RTL] Revert r52612 It came before its time ;) (Cameron Gutman)
  • [RTL] Enable the proper implementation of RtlActivateActivationContextUnsafeFast (Cameron Gutman)
  • [EVENTLOG] Fix MSVC warnings (Rafał Harabień)
  • [NTDLL]: Multiple fixes and cleanups to several loader functions in ldrutils. [NTDLL]: Use original symbolic function names instead of modified ones. [NTDLL]: Fixup some incorrect flag and typedef definitions with correct ones. [NTDLL]: Tag functions which seem broken/lacking in functionality/very different from the rest of the code the LDR rewrite was based on. (Alex Ionescu)
  • [NTDLL/LDR] Fix build (not sure if its right place for IMAGE_LOADER_FLAGS_*) Remove unused label (Rafał Harabień)
  • [BZIP2] Fix MSVC build (Rafał Harabień)
  • [NORMALIZ] Don't build normaliz.dll - it's Win Vista library. It didn't even work because exports was redirected to commented out kernel32 exports. GCC ignored it but MSVC returns error in such case. (Rafał Harabień)
  • [NTOSKRNL] Update TRAP_ENTRY macro to generate debugging information. Now WinDbg knows how to deal with the trap functions and also shows the user mode back traces. (Timo Kreuzer)
  • [NTDLL]: Fix multiple levels of fail in LdrGetDllHandleEx (returning with lock held, leaking memory, using NULL pointers, using magic flags, missing ASSERTs, buffer overflows, usage of incorrect constants, ignoring status failures, lack of varaible initialization, incorrect string initialization). (Alex Ionescu)
  • [WLANSVC] Set status SERVICE_STOPPED when the service has been stopped. (Eric Kohl)
  • [NTDLL]: Fix LdrUnlockLoaderLock bugs. 4x10000$. (Alex Ionescu)
  • [IP] Complete waiting requests upon socket error Fixes connect() stall forever if the remote side is not listening (Cameron Gutman)
  • [NDK] Fix LPCP_PORT_OBJECT definition (Timo Kreuzer)
  • [IP] Return the amount of data sent in XXXSendDatagram() functions Fixes send() and sendto() return values for datagram sockets (bug exposed by the AFD send user-mode IRP rewrite) (Cameron Gutman)
  • [MSAFD/AFD] Pass the non-blocking information as a boolean (mswsock_new does this too) [AFD] Don't block waiting for a connection to accept on a non-blocking listener (Cameron Gutman)
  • [RTL] Fix RtlFindSetBits to search for bits before the HintIndex as well Remove a wrong (and commented out) ASSERT Fix MSVC warnings (Timo Kreuzer)
  • [IP] Handle an EPIPE error (Cameron Gutman)
  • [OSKITTCP] Remove socket state checks from OskitTCPRecv and OskitTCPSend Oskit already returns ESHUTDOWN when sosend is called on a socket with SS_CANTSENDMORE so it is unnecessary The check in OskitTCPRecv broke returning success and 0 bytes on a graceful shutdown (We got the FIN, set SS_CANTRCVMORE, signaled the connection, tried to read and failed with ESHUTDOWN instead of succeeding with 0 bytes) (Cameron Gutman)
  • [OSKITTCP] Signal readable when read is closed and writeable when write is closed This seems counterintuitive on the surface but signaling the socket in this way ensures that pending reads and writes are cancelled if either side shuts down send/receive Graceful close (recv() returns 0 bytes and FD_CLOSE is signaled when we receive a FIN) works much better (Cameron Gutman)
  • [TCPIP] Implement support for timing out disconnects Add debug prints for oskittcp errors [MSAFD] Set a disconnect timeout value that actually makes sense (1 second vs 100 nanoseconds) (Cameron Gutman)
  • [TCPIP] Fix binding to an unspecified port on a connect so that it works reliably by asking the TCP library for a free port instead of assuming that one we have is free Fix binding to an unspecified port on a listen which previously would result in the address file not having information stored about the port number assigned Fix a nasty bug which resulted in us binding to an arbitrary port during a connect even when the client wfix