reactos.git
9 years ago[WIN32K]
Jérôme Gardou [Thu, 23 Oct 2014 09:32:39 +0000 (09:32 +0000)]
[WIN32K]
 - Remove the cursor from the process cache when its handle is deleted, not after.
 - Do not return an invalid handle in NtUserSetCursor.
CORE-7575

svn path=/trunk/; revision=64912

9 years ago[USER32]
Jérôme Gardou [Thu, 23 Oct 2014 09:32:21 +0000 (09:32 +0000)]
[USER32]
 - Fix LookupIconIdFromDirectoryEx, returning 0 when no matching entry is found.
 - Fix error handling when opening a cursor file.
 - Various code beautification here and there
CORE-7575

svn path=/trunk/; revision=64911

9 years ago[CRT/OLDNAMES]
Timo Kreuzer [Thu, 23 Oct 2014 09:22:45 +0000 (09:22 +0000)]
[CRT/OLDNAMES]
Fix ARM build, patch by Yuntian Zhang with minor adjustment by me.
CORE-8666 #resolve #comment Committed in r64910, thanks!

svn path=/trunk/; revision=64910

9 years ago[CRT]
Timo Kreuzer [Thu, 23 Oct 2014 09:05:32 +0000 (09:05 +0000)]
[CRT]
Do not raise an exception in _invalid_parameter, which is only done in later MSVCRTs. Wine uses a symbolic constant (_MSVCR_VER) to handle this and other things and compiles their CRT code multiple times. As an alternative we could use a global version variable to avoid recompiling, once we implement other CRT dlls.
CORE-8670 #resolve

svn path=/trunk/; revision=64909

9 years ago[I8042PRT]
Kamil Hornicek [Wed, 22 Oct 2014 20:05:32 +0000 (20:05 +0000)]
[I8042PRT]
- check the right buffer's length
[WIN32K]
- simplify IntKeyboardUpdateLeds a bit and mind previous mode
- fixes keyboard indicators
CORE-8547

svn path=/trunk/; revision=64908

9 years ago[RTL]
Thomas Faber [Wed, 22 Oct 2014 19:40:13 +0000 (19:40 +0000)]
[RTL]
- Address a review comment by Timo -- use more explicit comparison

svn path=/trunk/; revision=64907

9 years ago[NTOS:FORMATTING]
Thomas Faber [Wed, 22 Oct 2014 19:34:46 +0000 (19:34 +0000)]
[NTOS:FORMATTING]
- Trip trailing whitespace in Io/Pnp

svn path=/trunk/; revision=64906

9 years ago[XDK/DDK]
Timo Kreuzer [Wed, 22 Oct 2014 19:30:27 +0000 (19:30 +0000)]
[XDK/DDK]
Improve debugprint in __assert_annotationA/W

svn path=/trunk/; revision=64905

9 years ago[SERVMAN]
Kamil Hornicek [Wed, 22 Oct 2014 19:28:33 +0000 (19:28 +0000)]
[SERVMAN]
- better fix for CDI 513719, LVText might not be null terminated - spotted by Timo

svn path=/trunk/; revision=64904

9 years ago[NTOSKRNL]
Timo Kreuzer [Wed, 22 Oct 2014 19:20:03 +0000 (19:20 +0000)]
[NTOSKRNL]
- Fix potential use-after-free CID 732509
- Fix buffer size in call to ObQueryNameString

svn path=/trunk/; revision=64903

9 years ago[NTOS:IO] Replace an error message by an assert
Hervé Poussineau [Wed, 22 Oct 2014 19:17:13 +0000 (19:17 +0000)]
[NTOS:IO] Replace an error message by an assert

This was expected to be done soon after r32518.

svn path=/trunk/; revision=64902

9 years ago[ADVAPI32/CRED]
Amine Khaldi [Wed, 22 Oct 2014 18:41:40 +0000 (18:41 +0000)]
[ADVAPI32/CRED]
* Sync with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64901

9 years ago[ADVAPI32/CRYPT]
Amine Khaldi [Wed, 22 Oct 2014 18:29:59 +0000 (18:29 +0000)]
[ADVAPI32/CRYPT]
* Sync with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64900

9 years ago[PSDK]
Amine Khaldi [Wed, 22 Oct 2014 18:26:47 +0000 (18:26 +0000)]
[PSDK]
* Add missing PFE_IMPORT_FUNC and WriteEncryptedFileRaw.

svn path=/trunk/; revision=64899

9 years ago[KERNEL32]
Amine Khaldi [Wed, 22 Oct 2014 18:05:36 +0000 (18:05 +0000)]
[KERNEL32]
* Zap szCountryListName.
* Comment out unused charset_names and strcpynAtoW.
CORE-8540

svn path=/trunk/; revision=64898

9 years ago[KERNEL32]
Amine Khaldi [Wed, 22 Oct 2014 17:58:58 +0000 (17:58 +0000)]
[KERNEL32]
* Sync GetStringTypeW with Wine 1.7.27.
* Allows more kernel32:locale tests to run.
CORE-8540

svn path=/trunk/; revision=64897

9 years ago[KERNEL32]
Amine Khaldi [Wed, 22 Oct 2014 17:52:18 +0000 (17:52 +0000)]
[KERNEL32]
* Sync LCMapString{A,W} with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64896

9 years ago[CMAKE]
Amine Khaldi [Wed, 22 Oct 2014 16:56:56 +0000 (16:56 +0000)]
[CMAKE]
* Allow the use of the LOCATION property with new CMake versions.

svn path=/trunk/; revision=64894

9 years ago[TASKMGR]
Amine Khaldi [Wed, 22 Oct 2014 16:51:25 +0000 (16:51 +0000)]
[TASKMGR]
* Minor style changes in wWinMain.

svn path=/trunk/; revision=64893

9 years ago[KERNEL32]
Amine Khaldi [Wed, 22 Oct 2014 16:43:19 +0000 (16:43 +0000)]
[KERNEL32]
* Zap NLS_RegEnumSubKey.

svn path=/trunk/; revision=64892

9 years ago[KERNEL32]
Amine Khaldi [Wed, 22 Oct 2014 16:40:54 +0000 (16:40 +0000)]
[KERNEL32]
* Replace EnumSystemGeoID with the one from Wine 1.7.27.
* Fixes some kernel32:locale tests.
CORE-8540

svn path=/trunk/; revision=64891

9 years ago[TASKMGR]
Kamil Hornicek [Wed, 22 Oct 2014 16:01:24 +0000 (16:01 +0000)]
[TASKMGR]
- fix CIDs 731628 (unlikely buffer overrun), 500038 (dead code), 1101977 (unchecked return value)

svn path=/trunk/; revision=64890

9 years ago[NTOS:MM]
Thomas Faber [Wed, 22 Oct 2014 13:26:50 +0000 (13:26 +0000)]
[NTOS:MM]
- Add a way to generate a pool tag from the calling driver name if none is specified. Disabled by default.

svn path=/trunk/; revision=64889

9 years ago[NTOS:MM]
Thomas Faber [Wed, 22 Oct 2014 13:18:10 +0000 (13:18 +0000)]
[NTOS:MM]
- Add missing call to ExpSeedHotTags

svn path=/trunk/; revision=64888

9 years ago[NTOS:KE]
Thomas Faber [Wed, 22 Oct 2014 13:13:31 +0000 (13:13 +0000)]
[NTOS:KE]
- Issue the appropriate bug check codes when faulting in special pool
CORE-8680

svn path=/trunk/; revision=64887

9 years ago[NTOS:MM]
Thomas Faber [Wed, 22 Oct 2014 13:04:57 +0000 (13:04 +0000)]
[NTOS:MM]
Make special pool usable:
- Invalidate PTEs on free to catch use-after-free situations (and not confuse Mm)
- Fix pattern check not to look for more than 8 bits in a byte
- Enable POOL_FLAG_SPECIAL_POOL if special pool has been initialized
- Implement MmExpandSpecialPool
- Issue the correct SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION bugcheck when problems are detected
- Magic values--
To enable special pool for a single tag, set a value for MmSpecialPoolTag in ntoskrnl/mm/ARM3/pool.c.
To enable it for more than one tag, set MmSpecialPoolTag and modify MmUseSpecialPool in ntoskrnl/mm/ARM3/special.c (e.g. to return TRUE independent of Tag).
CORE-8680 #resolve

svn path=/trunk/; revision=64886

9 years ago[NTOS:MM]
Thomas Faber [Wed, 22 Oct 2014 12:29:31 +0000 (12:29 +0000)]
[NTOS:MM]
- Generate PAGE_FAULT_IN_NONPAGED_AREA bugcheck for PTEs that have their protection set to zero. This gives a more useful error description than the infamous 'TempPte.u.Long != 0' assertion*.
CORE-8679 #resolve

* and is also What Windows Does(TM)

svn path=/trunk/; revision=64885

9 years ago[MSCONFIG]
Kamil Hornicek [Wed, 22 Oct 2014 12:13:40 +0000 (12:13 +0000)]
[MSCONFIG]
- fix CID 503793 (unlikely NULL pointer dereference), 514558 (check return value)

svn path=/trunk/; revision=64884

9 years ago[KERNEL32]
Amine Khaldi [Tue, 21 Oct 2014 23:02:21 +0000 (23:02 +0000)]
[KERNEL32]
* Replace GetGeoInfo{A,W} with the ones from Wine 1.7.27.
* Fixes many kernel32:locale tests.
CORE-8540

svn path=/trunk/; revision=64883

9 years ago[SERVMAN]
Kamil Hornicek [Tue, 21 Oct 2014 22:58:23 +0000 (22:58 +0000)]
[SERVMAN]
- fix resource leaks CID 716292, 716293, 716294
- fix CID 716772 (double free), 513719 (wrong NULL check), 1206739 (cosmetic)
- make line endings CR LF when exporting the services list

svn path=/trunk/; revision=64882

9 years ago[FAST486]: Rename some 0F0x opcodes to "ExtOpcode..." to clarify what they are and...
Hermès Bélusca-Maïto [Tue, 21 Oct 2014 21:18:23 +0000 (21:18 +0000)]
[FAST486]: Rename some 0F0x opcodes to "ExtOpcode..." to clarify what they are and where they are used.

svn path=/trunk/; revision=64881

9 years ago[USER32]
Kamil Hornicek [Tue, 21 Oct 2014 21:08:51 +0000 (21:08 +0000)]
[USER32]
- fix CID 514402 (by Christoph)
[MMIXER]
- fix CID 503774, 715945, 511119
[WS2_32_NEW]
- fix a debug print

svn path=/trunk/; revision=64880

9 years ago[WIN32K]
Jérôme Gardou [Tue, 21 Oct 2014 19:57:03 +0000 (19:57 +0000)]
[WIN32K]
 - Fix a few usages of UserSetCursor
 - Defer the actual freeing of cursor resources to when the object is freed for real.
CORE-7575

svn path=/trunk/; revision=64879

9 years ago[I_KNEW_IT]
Jérôme Gardou [Tue, 21 Oct 2014 19:14:47 +0000 (19:14 +0000)]
[I_KNEW_IT]
 - InterlockedDecrement(JeromesBuildFailures)

svn path=/trunk/; revision=64878

9 years ago[WIN32K]
Jérôme Gardou [Tue, 21 Oct 2014 18:59:44 +0000 (18:59 +0000)]
[WIN32K]
 - "Convert" new cursor & icons implementation to the new user object handle manager.
 - Fix a few idiosyncracies in the way cursor handles are used (only with USE_NEW_CURSORICON_ENABLED)
[WIN32SS]
 - Storm out the flowers out of how classes use icon and cursor objects, with proper refcounting and all those joyous things.
Handles are for the powerless, kernel mode use pointers.
Only with USE_NEW_CURSORICON enabled (soon!)
CORE-7575

svn path=/trunk/; revision=64877

9 years ago[WIN32K]
Jérôme Gardou [Tue, 21 Oct 2014 18:59:39 +0000 (18:59 +0000)]
[WIN32K]
 - Use the first frame of an animated cursor in case we're trying to use one.

svn path=/trunk/; revision=64876

9 years ago[WIN32K]
Jérôme Gardou [Tue, 21 Oct 2014 18:59:34 +0000 (18:59 +0000)]
[WIN32K]
 - Refcount++ the process info when we're adding it to a cursor process list.
CORE-8661

svn path=/trunk/; revision=64875

9 years ago[KERNEL32]
Amine Khaldi [Tue, 21 Oct 2014 18:42:12 +0000 (18:42 +0000)]
[KERNEL32]
* Sync casemap.c with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64874

9 years ago[IP]
Amine Khaldi [Tue, 21 Oct 2014 18:39:22 +0000 (18:39 +0000)]
[IP]
* Zap tcp_state_str.

svn path=/trunk/; revision=64873

9 years ago[KERNEL32]
Amine Khaldi [Tue, 21 Oct 2014 18:25:34 +0000 (18:25 +0000)]
[KERNEL32]
* Sync format_msg.c with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64872

9 years ago[CMD]
Kamil Hornicek [Tue, 21 Oct 2014 16:05:54 +0000 (16:05 +0000)]
[CMD]
- fix resource leaks CID 716324, 716323, 716322, 716321, 716320, 716319, 716318

svn path=/trunk/; revision=64871

9 years ago[STRMBASE]
Amine Khaldi [Tue, 21 Oct 2014 15:52:51 +0000 (15:52 +0000)]
[STRMBASE]
* Zap InputPin_Vtbl, OutputPin_Vtbl and impl_BaseInputPin_from_BasePin(). Already accepted upstream.

svn path=/trunk/; revision=64870

9 years ago[XCOPY_WINETEST]
Amine Khaldi [Tue, 21 Oct 2014 15:50:16 +0000 (15:50 +0000)]
[XCOPY_WINETEST]
* Import from Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64869

9 years ago[WIN32K]
Thomas Faber [Tue, 21 Oct 2014 14:28:16 +0000 (14:28 +0000)]
[WIN32K]
- Fix DCE list entry handling
CORE-8669 #resolve

svn path=/trunk/; revision=64868

9 years ago[RTL]
Thomas Faber [Tue, 21 Oct 2014 14:22:28 +0000 (14:22 +0000)]
[RTL]
- Fix a buffer overflow in RtlSetBits/RtlClearBits

svn path=/trunk/; revision=64867

9 years ago[WIN32K]
Thomas Faber [Tue, 21 Oct 2014 12:43:15 +0000 (12:43 +0000)]
[WIN32K]
- Remove bug-hiding list macros that accept NULL in LIST_ENTRYs.
CORE-8668 #resolve

svn path=/trunk/; revision=64865

9 years ago[WIN32K]
Jérôme Gardou [Tue, 21 Oct 2014 10:45:55 +0000 (10:45 +0000)]
[WIN32K]
 - reference the current process info structure while we're leaving win32k.
The process can die anytime while we're not looking.
CORE-8663 #resolve

svn path=/trunk/; revision=64863

9 years ago[WIN32K]
Jérôme Gardou [Tue, 21 Oct 2014 10:45:49 +0000 (10:45 +0000)]
[WIN32K]
 - Avoid use after free in debug configuration
CORE-8661 #resolve

svn path=/trunk/; revision=64862

9 years ago[CMAKE]
Jérôme Gardou [Tue, 21 Oct 2014 10:45:36 +0000 (10:45 +0000)]
[CMAKE]
 - link keyboard layout modules to gcc_ssp if the stack protector is enabled.

svn path=/trunk/; revision=64861

9 years ago[User32]
James Tabor [Tue, 21 Oct 2014 03:13:21 +0000 (03:13 +0000)]
[User32]
- Remove code that breaks wine release 1.7.29 user32 input tests. Code was there since r2505.
- So due to this commit, over compensating hacks can break.

svn path=/trunk/; revision=64860

9 years ago[Win32k]
James Tabor [Tue, 21 Oct 2014 03:02:07 +0000 (03:02 +0000)]
[Win32k]
- rpdeskParent can be NULL and should not be depended on! Fixes CORE-8665.

svn path=/trunk/; revision=64859

9 years ago[UNIATA]
Sylvain Petreolle [Mon, 20 Oct 2014 21:21:43 +0000 (21:21 +0000)]
[UNIATA]
Update to 0.45b1.
CORE-8280 #resolve

svn path=/trunk/; revision=64856

9 years ago[UNIATA]
Sylvain Petreolle [Mon, 20 Oct 2014 21:20:35 +0000 (21:20 +0000)]
[UNIATA]
Update to 0.45b.
CORE-8280

svn path=/trunk/; revision=64855

9 years ago[KERNEL32]
Pierre Schweitzer [Mon, 20 Oct 2014 20:26:07 +0000 (20:26 +0000)]
[KERNEL32]
Don't care for the return value (yet?) of StringCbPrintfW. This fixes release build.

svn path=/trunk/; revision=64853

9 years ago[NTVDM]: Now that HLT is implemented, use it in the INT32 handlers.
Hermès Bélusca-Maïto [Mon, 20 Oct 2014 19:45:37 +0000 (19:45 +0000)]
[NTVDM]: Now that HLT is implemented, use it in the INT32 handlers.

svn path=/trunk/; revision=64852

9 years ago[FAST486]
Hermès Bélusca-Maïto [Mon, 20 Oct 2014 19:42:52 +0000 (19:42 +0000)]
[FAST486]
- Control register 0 is CR0: use FAST486_REG_CR0 instead of 0, as it is done in the rest of the code.
- Improve a if/else if control.
- Don't halt the processor in the middle of prefixes processing.

svn path=/trunk/; revision=64851

9 years ago[STRMBASE]
Amine Khaldi [Mon, 20 Oct 2014 17:38:06 +0000 (17:38 +0000)]
[STRMBASE]
* Zap TransformFilter_Vtbl. Already accepted upstream.

svn path=/trunk/; revision=64850

9 years ago[CMAKE]
Amine Khaldi [Mon, 20 Oct 2014 17:35:22 +0000 (17:35 +0000)]
[CMAKE]
* Use the x86 toolchain for host tools if the targeting platform is ARM. Brought to you by Yuntian Zhang.
CORE-7407 #resolve #comment Committed in r64849. Thanks!

svn path=/trunk/; revision=64849

9 years ago[WIN32K]
Kamil Hornicek [Mon, 20 Oct 2014 14:26:47 +0000 (14:26 +0000)]
[WIN32K]
- add a missing break and reshuffle the code a tiny bit to fix CIDs 514466 and 513487
- don't skip the terminating debug print for ft_glyph_format_bitmap

svn path=/trunk/; revision=64847

9 years ago[devmgr]
Christoph von Wittich [Mon, 20 Oct 2014 13:32:33 +0000 (13:32 +0000)]
[devmgr]
don't free stack memory with LocalFree
CID 1101901

svn path=/trunk/; revision=64846

9 years ago[SETUPAPI]
Kamil Hornicek [Mon, 20 Oct 2014 13:08:42 +0000 (13:08 +0000)]
[SETUPAPI]
- actually use the icon source we get from registry instead of loading all icons from setupapi itself
CORE-8614

svn path=/trunk/; revision=64845

9 years ago[explorer]
Christoph von Wittich [Mon, 20 Oct 2014 10:05:30 +0000 (10:05 +0000)]
[explorer]
DragQueryFile expects size in characters

svn path=/trunk/; revision=64844

9 years ago[FASTFAT]
Thomas Faber [Mon, 20 Oct 2014 09:31:50 +0000 (09:31 +0000)]
[FASTFAT]
- Move FCB list removal to vfatDelFCBFromTable, since vfatAddFCBToTable does the insert. Fixes list corruption in vfatUpdateFCB.

svn path=/trunk/; revision=64843

9 years ago[cmd/help]
Christoph von Wittich [Mon, 20 Oct 2014 09:21:08 +0000 (09:21 +0000)]
[cmd/help]
do not call wcslen on uninitialized variable

svn path=/trunk/; revision=64842

9 years ago[cmd]
Christoph von Wittich [Mon, 20 Oct 2014 08:47:57 +0000 (08:47 +0000)]
[cmd]
GetDateFormat expects size in characters

svn path=/trunk/; revision=64841

9 years ago[KERNEL32]
Thomas Faber [Mon, 20 Oct 2014 08:30:55 +0000 (08:30 +0000)]
[KERNEL32]
- Fix MSVC build

svn path=/trunk/; revision=64840

9 years ago[NPFS]
Thomas Faber [Mon, 20 Oct 2014 08:08:50 +0000 (08:08 +0000)]
[NPFS]
- Correctly interpret SeCreateClientSecurity return value in NpInitializeSecurity
- Always charge quota when allocating client context
- Specify explicit 0 tag when freeing allocations with unknown pool tag
- Misc readability fixes

svn path=/trunk/; revision=64839

9 years ago[AFD]
Thomas Faber [Sun, 19 Oct 2014 22:12:06 +0000 (22:12 +0000)]
[AFD]
- Do not pass IO_STATUS_BLOCKs when creating IRPs for asynchronous use. Fixes a use-after-free where AfdCloseSocket would cancel IRPs without actually waiting for their completion, and proceed to free the FCB, which contained these IO_STATUS_BLOCKs.
Note that using TdiBuildInternalDeviceControlIrp for these requests is broken in the first place, since it is intended for synchronous requests and requires a guarantee about the calling thread's lifetime. These functions (and their completion routines) should use IoAllocateIrp/IoReuseIrp/IoFreeIrp instead. However this can be fixed later; the incredibly annoying nonpaged pool corruption due to this that has been around for 10 years should be fixed with this commit.
CORE-8640 #resolve

svn path=/trunk/; revision=64838

9 years ago[videoprt]
Christoph von Wittich [Sun, 19 Oct 2014 21:57:29 +0000 (21:57 +0000)]
[videoprt]
fix uninitialized variable usage in error case

svn path=/trunk/; revision=64837

9 years ago[FASTFAT]
Pierre Schweitzer [Sun, 19 Oct 2014 21:38:32 +0000 (21:38 +0000)]
[FASTFAT]
- Implement vfatPrepareTargetForRename() that prepares for renaming. It tries to open target and deletes it if it exists and if allowed. And then, it opens the parent directory.
- Implement VfatSetRenameInformation() that actually does the renaming (call as SetInformationFile). It handles cases we we have (or we don't have) TargetDirectory provided. It sends notifications as appropriated on demands.
- Implement vfatRenameEntry() that renames an entry in place. So far, it only supports FATX entries renaming. FAT entries are a bit more complex. It falls back to vfatMoveEntry() in later cases.
- Implement VfatMoveEntry() that will move an entry accross directories (or in place for FAT). Its principles are simple: it deletes the entry in old parent, and recreate it in new parent, keeping file metadata & data.
- Modify VfatDelEntry() and VfatAddEntry() so that they can handle deleting an entry without touching its data and adding an entry with an already provided FCB and thus use the given metadata.
- Implement vfatDelFCBFromTable() which is just old code moved to new routine to allow reuse. It deletes a FCB entry from hash table. Doesn't deal with references!
- Implement vfatMakeFullName() which is mostly old code moved to new routine to allow reuse. It allocates buffer and copy data for FCB full name.
- Implement vfatUpdateFCB() that will update a FCB with new names and parent. It will remove anything related to old name and will recreate using new data. It will adjust references count.
- Modify vfatMakeFCBFromDirEntry() so that it calls vfatMakeFullName().
- Modify vfatReleaseFCB() so that it calls vfatDelFCBFromTable().
- Revert VfatOpenFile() to its previous features.
- Modify VfatCreateFile() to reimplement support for SL_OPEN_TARGET_DIRECTORY. It is way less hackish than previously. It also properly opens parent now, by incrementing its handle count and by setting appropriate access rights.

[KERNEL32]
- Rewritten MoveFileWithProgressW() to implement all the missing features that are used in Windows 2k3 including links and reparse points.
- Implemented BasepMoveFileDelayed() to replace deprecated add_boot_rename_entry(). This functions is matching the features implemented in SMSS.
- Implemented BasepMoveFileCopyProgress() which is used in MoveFileWithProgressW().
- Stubbed BasepNotifyTrackingService() which is not use at the moment (FastFAT, even in Windows doesn't provide such feature).
- Reimplemented ReplaceFileA(), MoveFileWithProgressA() to quit Winisms and use our internal helpers.
- Make MoveFileX() use MoveFileWithProgressX() directly.
- Fixed a few prototypes.

TL;DR:
This (huge) commit implements file and directory renaming in FastFAT driver. This allows getting rid of old implementation in kernel32 where files were force copied.

A feature is still missing, but Jérôme should implement it anytime soon (he prototyped it already): moving directories across volumes. This requires some work in BasepCopyFileExW().

Kudos to all the devs who helped me on this: Christoph, Hervé, Jérôme, Thomas.
This finally allows killing CR-52... It was about time!

svn path=/trunk/; revision=64836

9 years ago[regsrv32]
Christoph von Wittich [Sun, 19 Oct 2014 21:30:26 +0000 (21:30 +0000)]
[regsrv32]
don't free hDll twice

svn path=/trunk/; revision=64835

9 years ago[NET]
Eric Kohl [Sun, 19 Oct 2014 20:12:19 +0000 (20:12 +0000)]
[NET]
- Add the localgroup command. It does not work properly on ReactOS yet.
- Print a warning when the domain option of the accounts command is used.

svn path=/trunk/; revision=64834

9 years ago[NTFS]
Pierre Schweitzer [Sun, 19 Oct 2014 20:12:14 +0000 (20:12 +0000)]
[NTFS]
Bugfixing... Part 9/X:
- Return the appropriate size for file size.
- Round the allocation to cluster size (as requested by the API).

This fixes metadata display when enumerating a directory in CMD.
What you get now: http://www.heisspiter.net/~Pierre/rostests/NTFS_listing_fixed.png

Time to fix all the rest!
D'oh!

svn path=/trunk/; revision=64833

9 years ago[NTFS]
Pierre Schweitzer [Sun, 19 Oct 2014 19:48:52 +0000 (19:48 +0000)]
[NTFS]
Bugfixing... Part 8/X:
- Actually, the files timestamp are already stored in the correct format on-disk... I should have listened to Thomas...

This fixes incorrect dates display when enumerating a directory contents. My apologies Thomas :-(.
Last to fix: the file size which is broken.

svn path=/trunk/; revision=64832

9 years ago[NTDLL_APITEST] Disable NtContinue test when runtime checks are enabled
Timo Kreuzer [Sun, 19 Oct 2014 19:37:55 +0000 (19:37 +0000)]
[NTDLL_APITEST] Disable NtContinue test when runtime checks are enabled
[USER32_APITEST] Disable WndProc test when runtime checks are enabled
[KERNEL32_WINETEST] Zero initialize a buffer. This is necessary, since we fail all calls to GetVolumePathNamesForVolumeNameW and thus never get any data into the buffer, which can later result in a buffer-overrun, when doing a lstrlenW on it.

svn path=/trunk/; revision=64831

9 years ago[NTFS]
Pierre Schweitzer [Sun, 19 Oct 2014 17:43:37 +0000 (17:43 +0000)]
[NTFS]
Bugfixing... Part 6/X:
- Properly return the size of the NTFS volume (and not a buggy size)
- Properly return the characteristics of the NTFS volume

svn path=/trunk/; revision=64829

9 years ago[NTVDM]: fix MIPS count in cases display delays get longer than 1 sec...
Hermès Bélusca-Maïto [Sun, 19 Oct 2014 17:24:57 +0000 (17:24 +0000)]
[NTVDM]: fix MIPS count in cases display delays get longer than 1 sec...

svn path=/trunk/; revision=64828

9 years ago[USER32]
Amine Khaldi [Sun, 19 Oct 2014 17:24:43 +0000 (17:24 +0000)]
[USER32]
* We're not using any debugging routines here.

svn path=/trunk/; revision=64827

9 years ago[WIN32K]
Timo Kreuzer [Sun, 19 Oct 2014 16:37:27 +0000 (16:37 +0000)]
[WIN32K]
Fix uninitialized variable use.

svn path=/trunk/; revision=64826

9 years ago[NTFS]
Pierre Schweitzer [Sun, 19 Oct 2014 16:29:38 +0000 (16:29 +0000)]
[NTFS]
Bugfixing... Part 6/X:
- Properly compute file name length.

This makes directory enumeration return complete file/directory names.
Note that it's also possible to enumerate the files in open dialog of notepad (for instance :-))

Opening a subdirectory/file is broken though. To be investigated.

svn path=/trunk/; revision=64825

9 years ago[FAST486]
Aleksandar Andrejevic [Sun, 19 Oct 2014 15:02:37 +0000 (15:02 +0000)]
[FAST486]
The r64823 patch was not properly merged.

svn path=/trunk/; revision=64824

9 years ago[FAST486]
Aleksandar Andrejevic [Sun, 19 Oct 2014 14:46:02 +0000 (14:46 +0000)]
[FAST486]
Implement the HLT instruction.
Remove the IdleCallback, since it's unused and probably won't be used.
(The load reduction will be implemented in NTVDM instead.)

svn path=/trunk/; revision=64823

9 years ago[USER32]
Timo Kreuzer [Sun, 19 Oct 2014 13:17:49 +0000 (13:17 +0000)]
[USER32]
Fix uninitialized variable use/warnings in
- RegisterClassExWOWW (found by MSVC runtime checks)
- IntDrawState (CID-514399)
- IntCallWindowProcA (CID-514389)
- IntCallWindowProcW (CID-414390)
- SendMessageA (CID-514392)
- SendMessageW (CID-514393)
- SendMessageTimeoutA (CID-514441)
- SendMessageCallbackA (CID-514442)
- SendNotifyMessageW (CID-514443)
- SendNotifyMessageA (CID-514444)
- User32CallWindowProcFromKernel (CID-514445)
- DesktopWndProcA (CID-716765)

svn path=/trunk/; revision=64822

9 years ago[CRT]
Timo Kreuzer [Sun, 19 Oct 2014 10:27:22 +0000 (10:27 +0000)]
[CRT]
Fix MSVC global constructor initialization.

svn path=/trunk/; revision=64821

9 years agoOk Arch, it's good to remove unuseful brackets, but don't exaggerate too much. Also...
Hermès Bélusca-Maïto [Sun, 19 Oct 2014 00:05:18 +0000 (00:05 +0000)]
Ok Arch, it's good to remove unuseful brackets, but don't exaggerate too much. Also check how the RtlInsertAsLeft/RightChild macros are defined. Since MS don't use the nice do { ... } while(0) for them, you cannot just use the if (blah) foo(); else bar(); to do the job, but you need the extra-brackets. And you cannot just change the macros definitions to not "break" headers compatibility (or... idiocies).

svn path=/trunk/; revision=64820

9 years agoFix whitespace, and get rid of that sh*tty K&R style.
Hermès Bélusca-Maïto [Sat, 18 Oct 2014 23:59:25 +0000 (23:59 +0000)]
Fix whitespace, and get rid of that sh*tty K&R style.

svn path=/trunk/; revision=64819

9 years ago[RTL]
Hermès Bélusca-Maïto [Sat, 18 Oct 2014 23:51:35 +0000 (23:51 +0000)]
[RTL]
Implement RtlDeleteNoSplay which is really just a copy/paste of RtlDelete, but without splaying the tree after deletion of the node. Needed by the filter driver fltmgr.sys. Dedicated to Mr. V ;)

svn path=/trunk/; revision=64818

9 years ago[CRT]
Timo Kreuzer [Sat, 18 Oct 2014 21:38:07 +0000 (21:38 +0000)]
[CRT]
Implement __do_global_ctors for MSVC

svn path=/trunk/; revision=64817

9 years ago[RunTmChk]
Timo Kreuzer [Sat, 18 Oct 2014 21:22:52 +0000 (21:22 +0000)]
[RunTmChk]
- Implement _RTC_GetErrDesc, _RTC_SetErrorFuncW, add stubs for _RTC_NumErrors, _RTC_SetErrorType, _RTC_SetErrorFunc
- Implement _RTC_DefaultErrorFuncW which will be used, when no other error func was set
- Implement _RTC_InitBase, which will be called from _RTC_Initialize, and which in turn calls either _CRT_RTC_INITW, if CRT was linked, or a local _CRT_RTC_INITW0, which in turn will return the error function to use. This allows us to use a custom error function for all modules that link to (MSV)CRT. Only user32 does not really fit into here, since it uses the same startup code but does not link to MSVCRT.

[CRT]
- Call _RTC_Initialize from __main before initializing the global constructors, but fall back to a dummy _RTC_NoInitialize(), when RunTmChk.lib was not linked. Now we properly initialize both our own as well as MS RunTmChk lib.

svn path=/trunk/; revision=64816

9 years ago[FREELDR]
Timo Kreuzer [Sat, 18 Oct 2014 21:12:12 +0000 (21:12 +0000)]
[FREELDR]
- Improve memory layout by moving the 32/64 bit stack to 0x7000-0xF000 and moving the BIOSCALLBUFFER up a bit. This gives us 56 KB additional space for freeldr itself. This allows to compile freeldr with /RTC1 (x86 only, the x64 version would get too big). And yes, it works.
- Implement FrLdrBugCheckWithMessage to get some useful messages on the screen and use it in MmCheckFreeldrImageFile
- Merge the .rtc section into the .text section, when we use RTC1
- Check the location of the Extended BIOS Data Area, add it to the memory descriptors and make sure we have enough space to put freeldr in. If the location of the EBDA is too low, print out a nice message on a blue screen :)

svn path=/trunk/; revision=64815

9 years ago[ACPI] Fix some traces
Hervé Poussineau [Sat, 18 Oct 2014 21:09:31 +0000 (21:09 +0000)]
[ACPI] Fix some traces

svn path=/trunk/; revision=64814

9 years ago[CMLIB] Add an assert to track potential registry corruptions
Hervé Poussineau [Sat, 18 Oct 2014 21:08:40 +0000 (21:08 +0000)]
[CMLIB] Add an assert to track potential registry corruptions

svn path=/trunk/; revision=64813

9 years ago[AMD64]
Timo Kreuzer [Sat, 18 Oct 2014 21:01:17 +0000 (21:01 +0000)]
[AMD64]
Fix build

svn path=/trunk/; revision=64812

9 years ago[FREELDR]
Timo Kreuzer [Sat, 18 Oct 2014 19:01:53 +0000 (19:01 +0000)]
[FREELDR]
Apply proper indentation, no code change.

svn path=/trunk/; revision=64811

9 years ago[USER32]
Amine Khaldi [Sat, 18 Oct 2014 18:41:15 +0000 (18:41 +0000)]
[USER32]
* WINEMessageTypeNames is only used in a case wrapped inside #ifndef __REACTOS__.

svn path=/trunk/; revision=64810

9 years ago[USER32]
Amine Khaldi [Sat, 18 Oct 2014 18:37:28 +0000 (18:37 +0000)]
[USER32]
* We're not using any debugging routines here.

svn path=/trunk/; revision=64809

9 years ago[CMAKE/MSVC]
Amine Khaldi [Sat, 18 Oct 2014 14:45:02 +0000 (14:45 +0000)]
[CMAKE/MSVC]
* Rename the lib to runtmchk. Really.
CORE-8626

svn path=/trunk/; revision=64808

9 years ago[CMAKE/MSVC]
Amine Khaldi [Sat, 18 Oct 2014 14:22:09 +0000 (14:22 +0000)]
[CMAKE/MSVC]
* Use the runtime checks globally in ReactOS now, not just for user mode modules.
* We no longer need the MS support lib, as Timo kindly implemented one for ReactOS.
* Rename the lib to runtmchk.
[PSEH][CRT]
* Remove some constrictions to seh.s source files, we no longer need them.
[KERNEL32]
* We no longer need to explicitly link to the runtime checks lib.
[FREELDR][KEYBOARD][NTOS][SETUPLDR]
* Link to the runtime checks lib when this mode is enabled.
CORE-8626

svn path=/trunk/; revision=64807

9 years ago[BMFD]
Amine Khaldi [Sat, 18 Oct 2014 14:16:54 +0000 (14:16 +0000)]
[BMFD]
* Use set_module_type() instead of the combination of set_entrypoint(), set_subsystem() and set_image_base().
* Remove the now redundant bugcodes dependency.
[FRAMEBUF_NEW]
* Remove redundant bugcodes dependency.

svn path=/trunk/; revision=64806

9 years ago[FRAMEBUF_NEW]
Amine Khaldi [Sat, 18 Oct 2014 14:12:41 +0000 (14:12 +0000)]
[FRAMEBUF_NEW]
* Use set_module_type() instead of the combination of set_entrypoint(), set_subsystem() and set_image_base().

svn path=/trunk/; revision=64805