Commit graph

51819 commits

Author SHA1 Message Date
Jérôme Gardou f696300a7a [WIN32K]
- Use the first frame of an animated cursor in case we're trying to use one.

svn path=/trunk/; revision=64876
2014-10-21 18:59:39 +00:00
Jérôme Gardou 19cf379c80 [WIN32K]
- Refcount++ the process info when we're adding it to a cursor process list.
CORE-8661

svn path=/trunk/; revision=64875
2014-10-21 18:59:34 +00:00
Amine Khaldi 359e6346cd [KERNEL32]
* Sync casemap.c with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64874
2014-10-21 18:42:12 +00:00
Amine Khaldi d8fff8998e [IP]
* Zap tcp_state_str.

svn path=/trunk/; revision=64873
2014-10-21 18:39:22 +00:00
Amine Khaldi 3f32c3a15d [KERNEL32]
* Sync format_msg.c with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64872
2014-10-21 18:25:34 +00:00
Kamil Hornicek cd1f57b5d4 [CMD]
- fix resource leaks CID 716324, 716323, 716322, 716321, 716320, 716319, 716318

svn path=/trunk/; revision=64871
2014-10-21 16:05:54 +00:00
Amine Khaldi 8d45f7ba25 [STRMBASE]
* Zap InputPin_Vtbl, OutputPin_Vtbl and impl_BaseInputPin_from_BasePin(). Already accepted upstream.

svn path=/trunk/; revision=64870
2014-10-21 15:52:51 +00:00
Thomas Faber 7b84cd051b [WIN32K]
- Fix DCE list entry handling
CORE-8669 #resolve

svn path=/trunk/; revision=64868
2014-10-21 14:28:16 +00:00
Thomas Faber 268d1c62fe [RTL]
- Fix a buffer overflow in RtlSetBits/RtlClearBits

svn path=/trunk/; revision=64867
2014-10-21 14:22:28 +00:00
Thomas Faber dfde71668b [WIN32K]
- Remove bug-hiding list macros that accept NULL in LIST_ENTRYs.
CORE-8668 #resolve

svn path=/trunk/; revision=64865
2014-10-21 12:43:15 +00:00
Jérôme Gardou 2e2957d928 [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
2014-10-21 10:45:55 +00:00
Jérôme Gardou 84c07bcc10 [WIN32K]
- Avoid use after free in debug configuration
CORE-8661 #resolve

svn path=/trunk/; revision=64862
2014-10-21 10:45:49 +00:00
Jérôme Gardou a336377ef4 [CMAKE]
- link keyboard layout modules to gcc_ssp if the stack protector is enabled.

svn path=/trunk/; revision=64861
2014-10-21 10:45:36 +00:00
James Tabor 64057f44f9 [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
2014-10-21 03:13:21 +00:00
James Tabor 5c5affcc22 [Win32k]
- rpdeskParent can be NULL and should not be depended on! Fixes CORE-8665.

svn path=/trunk/; revision=64859
2014-10-21 03:02:07 +00:00
Sylvain Petreolle ccf02b054c [UNIATA]
Update to 0.45b1.
CORE-8280 #resolve

svn path=/trunk/; revision=64856
2014-10-20 21:21:43 +00:00
Sylvain Petreolle 1a453ba5b6 [UNIATA]
Update to 0.45b.
CORE-8280

svn path=/trunk/; revision=64855
2014-10-20 21:20:35 +00:00
Pierre Schweitzer 8dfcb13a92 [KERNEL32]
Don't care for the return value (yet?) of StringCbPrintfW. This fixes release build.

svn path=/trunk/; revision=64853
2014-10-20 20:26:07 +00:00
Hermès Bélusca-Maïto 34aaa8fdf4 [NTVDM]: Now that HLT is implemented, use it in the INT32 handlers.
svn path=/trunk/; revision=64852
2014-10-20 19:45:37 +00:00
Hermès Bélusca-Maïto 705dcd2d05 [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
2014-10-20 19:42:52 +00:00
Amine Khaldi e46ceff760 [STRMBASE]
* Zap TransformFilter_Vtbl. Already accepted upstream.

svn path=/trunk/; revision=64850
2014-10-20 17:38:06 +00:00
Amine Khaldi 2047c64c1f [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
2014-10-20 17:35:22 +00:00
Kamil Hornicek 7d9706dd1f [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
2014-10-20 14:26:47 +00:00
Christoph von Wittich 923584ae2a [devmgr]
don't free stack memory with LocalFree
CID 1101901

svn path=/trunk/; revision=64846
2014-10-20 13:32:33 +00:00
Kamil Hornicek 6beb0e5668 [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
2014-10-20 13:08:42 +00:00
Christoph von Wittich df8c74d505 [explorer]
DragQueryFile expects size in characters

svn path=/trunk/; revision=64844
2014-10-20 10:05:30 +00:00
Thomas Faber 09f50240a3 [FASTFAT]
- Move FCB list removal to vfatDelFCBFromTable, since vfatAddFCBToTable does the insert. Fixes list corruption in vfatUpdateFCB.

svn path=/trunk/; revision=64843
2014-10-20 09:31:50 +00:00
Christoph von Wittich bd73779966 [cmd/help]
do not call wcslen on uninitialized variable

svn path=/trunk/; revision=64842
2014-10-20 09:21:08 +00:00
Christoph von Wittich c453a6b8d7 [cmd]
GetDateFormat expects size in characters

svn path=/trunk/; revision=64841
2014-10-20 08:47:57 +00:00
Thomas Faber 851df094ac [KERNEL32]
- Fix MSVC build

svn path=/trunk/; revision=64840
2014-10-20 08:30:55 +00:00
Thomas Faber 46c2db7796 [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
2014-10-20 08:08:50 +00:00
Thomas Faber 00ee551726 [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
2014-10-19 22:12:06 +00:00
Christoph von Wittich d0697e4b3d [videoprt]
fix uninitialized variable usage in error case

svn path=/trunk/; revision=64837
2014-10-19 21:57:29 +00:00
Pierre Schweitzer b70df35327 [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
2014-10-19 21:38:32 +00:00
Christoph von Wittich 39c0fb7d1f [regsrv32]
don't free hDll twice

svn path=/trunk/; revision=64835
2014-10-19 21:30:26 +00:00
Eric Kohl 7cd22fe762 [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
2014-10-19 20:12:19 +00:00
Pierre Schweitzer a0149739ce [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
2014-10-19 20:12:14 +00:00
Pierre Schweitzer 3b8b4734d6 [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
2014-10-19 19:48:52 +00:00
Pierre Schweitzer 064ac54c96 [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
2014-10-19 17:43:37 +00:00
Hermès Bélusca-Maïto aa15945793 [NTVDM]: fix MIPS count in cases display delays get longer than 1 sec...
svn path=/trunk/; revision=64828
2014-10-19 17:24:57 +00:00
Amine Khaldi fabcc9ac05 [USER32]
* We're not using any debugging routines here.

svn path=/trunk/; revision=64827
2014-10-19 17:24:43 +00:00
Timo Kreuzer be627c2e59 [WIN32K]
Fix uninitialized variable use.

svn path=/trunk/; revision=64826
2014-10-19 16:37:27 +00:00
Pierre Schweitzer e0b6d85507 [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
2014-10-19 16:29:38 +00:00
Aleksandar Andrejevic bff1bdafaf [FAST486]
The r64823 patch was not properly merged.


svn path=/trunk/; revision=64824
2014-10-19 15:02:37 +00:00
Aleksandar Andrejevic c46f3aa372 [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
2014-10-19 14:46:02 +00:00
Timo Kreuzer 50e22a432f [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
2014-10-19 13:17:49 +00:00
Timo Kreuzer 74cb166477 [CRT]
Fix MSVC global constructor initialization.

svn path=/trunk/; revision=64821
2014-10-19 10:27:22 +00:00
Hermès Bélusca-Maïto a4a867f83a 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
2014-10-19 00:05:18 +00:00
Hermès Bélusca-Maïto b858c18208 Fix whitespace, and get rid of that sh*tty K&R style.
svn path=/trunk/; revision=64819
2014-10-18 23:59:25 +00:00
Hermès Bélusca-Maïto eea6067270 [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
2014-10-18 23:51:35 +00:00