Commit graph

44143 commits

Author SHA1 Message Date
Sylvain Petreolle 90b23eee60 [PSDK]
Comment out specstrings.h inclusion in windef.h as per Timo's request.
Fixes build.

svn path=/trunk/; revision=49724
2010-11-23 16:08:39 +00:00
Timo Kreuzer eb64df8ebd [PSDK]
Don't define __in and __null on c++ build. as long as we keep using host headers, this won't work

svn path=/trunk/; revision=49723
2010-11-23 11:47:50 +00:00
Timo Kreuzer afe4af1acf [PSDK]
Partly sync windef.h with mingw-w64 and add specstrings.h
reverts the previous revert, fixed definition of NULL to __null in stddef.h

svn path=/trunk/; revision=49722
2010-11-23 11:30:17 +00:00
Timo Kreuzer 2ce6020471 revert r49718
svn path=/trunk/; revision=49720
2010-11-23 01:20:05 +00:00
James Tabor e690f5af92 [Win32k]
- Restore capturing the hit test in the desktop structure. Move journal record hook before sending the mouse hook.

svn path=/trunk/; revision=49719
2010-11-23 01:16:58 +00:00
Timo Kreuzer b9ced2b73b [PSDK]
Partly sync windef.h with mingw-w64 and add specstrings.h

svn path=/trunk/; revision=49718
2010-11-23 00:06:01 +00:00
Pierre Schweitzer 4aa271271e [NTOSKRNL]
Add missing prototype and define

svn path=/trunk/; revision=49717
2010-11-22 23:51:00 +00:00
Pierre Schweitzer c06fd57e9c [NTOSKRNL]
- Implemented FsRtlLookupPerStreamContextInternal(), FsRtlInsertPerStreamContext(), FsRtlRemovePerStreamContext(), FsRtlTeardownPerStreamContexts()
Based on my previous work on pierre-fsd branch.

svn path=/trunk/; revision=49716
2010-11-22 23:30:01 +00:00
Timo Kreuzer e08f002f40 [WIN32K]
Apply workaround for POINT / POINTL, like for the others

svn path=/trunk/; revision=49715
2010-11-22 23:20:50 +00:00
Timo Kreuzer 332a782a37 [GDI32]
Don't make the wrong assumption that POINT and POINTL are identical.

svn path=/trunk/; revision=49714
2010-11-22 23:18:59 +00:00
Eric Kohl d828ba929b [NPFS]
Add an FCB that represents the file system (volume/device) and support absolute and relative open, cleanup and close.

svn path=/trunk/; revision=49713
2010-11-22 23:08:11 +00:00
Pierre Schweitzer e69e3b27ee [NTOSKRNL]
- Renamed MmIsFileAPagingFile() to MmIsFileObjectAPagingFile() its appropriated name
- Added it to internal headers
- Implemented FsRtlIsPagingFile()

svn path=/trunk/; revision=49712
2010-11-22 22:18:02 +00:00
Pierre Schweitzer 4f335ab6b0 [NTOSKRNL]
- Add missing PAGED_CODE() where needed
- Removed a wrong ASSERT in FsRtlIsNameInExpressionPrivate() and replace it by the right one
- Mark FsRtlIsDbcsInExpression() as halfplemented

svn path=/trunk/; revision=49711
2010-11-22 21:38:23 +00:00
Giannis Adamopoulos 9b693d8c69 [win32k]
- Fix one of the greatest hacks in message handling: do not wake up every message queue when there is mouse or keyboard input ( wake only the thread that must take input)
- rewrite co_WinPosWindowFromPoint, co_MsqInsertMouseMessage and co_MsqPeekHardwareMessage
- port co_IntProcessMouseMessage and MsqSendParentNotify from wine 
- call co_IntProcessHardwareMessage from co_MsqPeekHardwareMessage, and not from co_IntPeekMessage
- move co_IntProcessHardwareMessage, co_IntProcessKeyboardMessage and co_IntProcessMouseMessage to msgqueue.c

svn path=/trunk/; revision=49710
2010-11-22 20:10:56 +00:00
Eric Kohl 8b5175e0ab [NPFS/KERNEL32]
Switch back to the old pipe wait code but keep the new code in place (disabled).

svn path=/trunk/; revision=49701
2010-11-21 23:15:11 +00:00
Pierre Schweitzer 2b6a79d9c9 [NTOSKRNL]
Previously, in ReactOS' stories:
ReactOS was broken since more a hundred of commits when two devs decided it was enough. One (we will name him Timo) fixed the context switch. The second, with the help of a third dev (Pierre & Hervé) decided to run tests by disabling some stuff (ie INIT_FUNCTION). This magically made testbot going back to life.
But, some complains came from the ML, so trying to appease world, Pierre decided to revert half of his changes, thinking this would be OK.

~~
Now, after a night. It appears that half revert was a pretty bad idea. Testbot keeps being broken.
So, this commit reverts r49665 (which was half reverting r49662). That way, testbot should be back, able to run tests. BUT, due to a NPFS issue, some tests are broken. Eric has been nicely mailed about that issue, with an idea of fix (thanks go here to Aleksey).

~~
For those who like that, drama to follow on ML.
I turn into being S/M...

svn path=/trunk/; revision=49691
2010-11-21 16:04:52 +00:00
Aleksey Bragin fc65d4400f [NTDLL]
- Fix LdrVerifyImageMatchesChecksum() prototype.

svn path=/trunk/; revision=49676
2010-11-20 22:05:42 +00:00
Pierre Schweitzer 6baacb986b [NTOSKRNL]
Get back INIT_FUNCTION on lassy's polite request.

svn path=/trunk/; revision=49665
2010-11-20 15:53:18 +00:00
Pierre Schweitzer 3eb9ba0807 [NTOSKRNL]
[HAL]
Disable INIT_FUNCTION to see whether it's responsible for Qemu broken status. Some are complaining of unworking trunk since r49463.
This will be reverted after tests.

svn path=/trunk/; revision=49662
2010-11-20 13:54:45 +00:00
Pierre Schweitzer ebec2dd826 [NTOSKRNL]
Fix potential buffer overflow

svn path=/trunk/; revision=49659
2010-11-20 12:07:24 +00:00
Dmitry Chapyshev bb5c7012d3 - Add wer.dll from Wine 1.3.7
- Sync gdiplus with Wine 1.3.7

svn path=/trunk/; revision=49658
2010-11-20 11:24:17 +00:00
Pierre Schweitzer 40232d377b [NTOSKRNL/PPC]
Fix index out of bounds

svn path=/trunk/; revision=49654
2010-11-20 10:22:36 +00:00
James Tabor 5d81f0a584 [Wine32k|User32]
- Implement client thread information for the beginning of QS flag support and signaling synchronization of messages.
- Set and clear idle event when setting clearing masks. This fixed the idle foreground hook call from user mode.
- Fixed wine ListBox and ReactOS ComboBox tests. Critical note: SendMessageA/W, when IsThreadHooked is used and any global hooks are affirmed, all messages are sent to Win32k and the result is, A to W and W to A mismatch via UMToKM. Fixing Global hook support exposed a critical bug in ReactOS message system. Enable the appropriate hooks will temporarily remedy this bug.
- All patches are from a checked out revision from 49475. Upping ntuser.h, win32k and user32 to sync.

svn path=/trunk/; revision=49653
2010-11-20 04:24:44 +00:00
Eric Kohl abf6a5bfd5 [NPFS]
- Rename DEVICE_EXTENSION to NPFS_VCB.
- Add a type variable to distinguish FCBs and CCBs for device, directory or pipe.
- Attach an FCB to the VCB that represents the root directory of the file system and implement an open routine for the root directory.
- Make NpfsWaitPipe work when it is called for the root directory.

[KERNEL32]
- Remove the old version of WaitNamedPipeW.

This patch fixes the broken wait pipe code. It was written and tested on r49458 because later revisions do not work for me.

svn path=/trunk/; revision=49646
2010-11-19 22:42:53 +00:00
Dmitry Chapyshev 4e31a0e529 - Sync atl, hlink, shdocvw, wtsapi32 with Wine 1.3.7
svn path=/trunk/; revision=49631
2010-11-19 15:21:38 +00:00
Pierre Schweitzer 752c855c83 [NTOSKRNL]
Simplify code, which should bring some fixing

svn path=/trunk/; revision=49618
2010-11-19 06:46:59 +00:00
Pierre Schweitzer ae495fcf68 [NTOSKRNL]
Use appropriated macros

svn path=/trunk/; revision=49617
2010-11-19 06:34:14 +00:00
Pierre Schweitzer d4577f8b7f [FORMATTING]
No code change

svn path=/trunk/; revision=49616
2010-11-19 06:28:20 +00:00
Timo Kreuzer 5ba58aa606 [NTOSKRNL]
- Initialize the Zero variable
- Don't corrupt the Color value in case we didn't have any page on MmZeroedPageListHead.
- Fixes boot.

svn path=/trunk/; revision=49614
2010-11-18 19:20:38 +00:00
James Tabor 4886d14bab [Win32k]
- Fix style, use client style.

svn path=/trunk/; revision=49613
2010-11-18 16:26:54 +00:00
James Tabor 7b2f0a799a [Win32k]
- Test for hooks before setting up for a hook call. This eliminates overhead.

svn path=/trunk/; revision=49612
2010-11-18 16:17:59 +00:00
Giannis Adamopoulos 2b843622b4 [win32k]
- Some more cleanup

svn path=/trunk/; revision=49610
2010-11-18 13:57:21 +00:00
Timo Kreuzer 83c94373d7 [NTOSKRNL]
Fix a bug.

svn path=/trunk/; revision=49609
2010-11-18 03:14:47 +00:00
James Tabor c65ab760bf [Win32k|User32] - Cleanup and added debug prints.
svn path=/trunk/; revision=49606
2010-11-16 05:30:20 +00:00
James Tabor 3d573b97a6 [Win32k]
- Tweaks to hook and event timeouts. Increase performance with DOSBox when using mouse and keyboard.

svn path=/trunk/; revision=49605
2010-11-16 04:52:53 +00:00
James Tabor 7a5f137974 [Win32k] - Fix hooks, do not cleanup hooks when any window from the same thread is destroyed.
svn path=/trunk/; revision=49592
2010-11-15 06:52:44 +00:00
Daniel Reimer 14a5ef32d6 Bug 5726: PATCH: regedit: Language File skeleton strings (geekdundee<A_T>gmail.com)
Bug 5735: PATCH: updated slovak translations by Mario Kacmar
Bug 5740: TRANSLATION: rapps: polish (wojtekkozlo664<A_T>op.pl)
Updated the Rapps Versions, too.

svn path=/trunk/; revision=49587
2010-11-14 15:22:48 +00:00
Giannis Adamopoulos 6fce3aa19b [win32k]
-Rename MsqInsertSystemMessage to MsqInsertMouseMessage

svn path=/trunk/; revision=49581
2010-11-14 09:53:07 +00:00
Giannis Adamopoulos 4ac999a033 [win32k]
- Simplify co_IntPeekMessage even more

svn path=/trunk/; revision=49580
2010-11-14 09:01:17 +00:00
James Tabor 31efb355c9 [Win32k]
- Fixed WaitForInputIdle, finally!, passed all the wine tests for it.
- Moved Get/Peek message to the new all in one support routine.
- Foreground hook hits one out of five, this needs more research.
- Attempted to workout synchronizing issues with low level and regular hooks.

svn path=/trunk/; revision=49579
2010-11-14 00:27:38 +00:00
Timo Kreuzer ea5d462bdf [FREELDR]
Convert most of the trap and blue screen code from asm to C, use KTRAP_FRAME and KSPECIAL_REGISTERS on the stack, instead of using a bunch of global variables. Convert multiply used asm code chunks into macros. Use intel syntax for remaining asm.
135 lines of C + 178 lines of asm, instead of 942 lines of asm

svn path=/trunk/; revision=49573
2010-11-13 19:48:13 +00:00
Sir Richard ef4089933a [NTOS]: Start using colored pages. This will help performance on real systems significantly as cache is now taken into account by the memory manager. Also radically changes the way page allocations are given out and creates a less uniform physical memory layout. The fact this now works means that the PFN lists are finally now sane.
svn path=/trunk/; revision=49559
2010-11-11 13:15:40 +00:00
Sir Richard d5c3a8295f [NTOS]: Use MI_PFN_ELEMENT in this code, as the extra checks done by MiGetPfnEntry are irrelevant and slow things down.
[NTOS]: Remove some old ReactOS hacks before we had MMROSPFNDATA.

svn path=/trunk/; revision=49558
2010-11-11 13:13:05 +00:00
Sir Richard 0bbcdaf47f [NTOS]: Fix a bug in MiRemovePageByColor which caused corruption of the page list and could lead to crashes, re-use of freed memory, assuming active memory was free, etc.
svn path=/trunk/; revision=49557
2010-11-11 13:08:41 +00:00
Sir Richard 7a047a7902 [NTOS]: Fix another bug in the continuous memory allocation code, which would go off-by-one while looping the PFN entries for the allocation, and corrupt the PteFrame/PteAddress of an unrelated PFN entry. If this PFN was in the active lists, it would cause page table leaks and faults, if the page was on a free list, it would override the colored list backlink and corrupt the list, later causing unlinked pages to remain linked to the list.
svn path=/trunk/; revision=49556
2010-11-11 13:05:52 +00:00
Art Yerkes 0cb645cb12 Part 1 of fixes: For some reason beyond me, I had abbreviated
MiCowSectionPage to always assume CoW rather than always not
CoW for cache sections.  

Make sure we're looking for cache type sections rather than
(as we were in the branch) data file sections.  More needed.

svn path=/trunk/; revision=49555
2010-11-11 08:15:50 +00:00
Sir Richard 64e92d2d8e [NTOS]: Fix bugs in MiAllocateContiguousPages. Fixes an ASSERT Caemyr was seeting a lot (the cont-able ASSERT).
svn path=/trunk/; revision=49541
2010-11-09 13:26:26 +00:00
Sir Richard f205f243bb [NTOS]: Assign a working set to the system process and correctly initialize its address space.
[NTOS]: Assign the working set list address, system-wide, but per-process (in hyperspace).
[NTOS]: Give every process its working set page, and store it. Build a bogus working set list (MMWSL).
[NTOS]: Use the process working set list (MMWSL) to track page table references during faults, just as Windows does.
[NTOS]: Correctly initialize the colored page list heads and assert their validity.

svn path=/trunk/; revision=49525
2010-11-08 12:35:50 +00:00
Sir Richard e8c269c0c4 [NTOS]: Optimize new context switching code to avoid wasted cycles.
svn path=/trunk/; revision=49523
2010-11-08 11:56:22 +00:00
Timo Kreuzer 44eef5b073 [SHLWAPI]
Explicitly add msvcrt before ntdll to use it's *sprintf functions. Fixes bug 5557

svn path=/trunk/; revision=49522
2010-11-08 10:04:43 +00:00