Commit graph

41050 commits

Author SHA1 Message Date
James Tabor 2afc207a55 [Win32k]
- If dc is window owned and not class owned do not set class if null pdce. Added debug prints to locate reentrancy issues due to a race condition.
- Add more checks to find dead windows.

svn path=/trunk/; revision=45671
2010-02-23 15:42:08 +00:00
James Tabor e09b719f49 [User32]
- Remove 16 bit'isms. Added back removed code and commented it out with added notes.
- Jason Edmeades : Combo should preselect all text on first WM_SETFOCUS.
- Kusanagi Kouichi : Consolidate empty string.
- Alexandre Julliard : Don' t forward WM_SETCURSOR to the desktop window. Modified.
- Dmitry Timoshkov : In a DLGTEMPLATEEX resource dialog version goes before signature.
- Due to truck freeze, there might have slipped in miscellaneous patches.

svn path=/trunk/; revision=45670
2010-02-23 15:28:45 +00:00
Johannes Anderwald 9a8b7304ea [KSPROXY]
- Fix file headers for Christoph
- Add debug spam
- IsEqualIID uses REFIID

svn path=/trunk/; revision=45669
2010-02-23 15:25:59 +00:00
Michael Martin 04c5c8fb69 [usb/usbehci]
- Add back WorkItem code but use it for calling the hub drivers callback routine (telling hub driver it needs check port status).
- Add missing break for case URB_FUNCTION_GET_STATUS_FROM_DEVICE.
- RootHubInitNotification: BusContext is the Device Object not the Device Objects Extensions.
- UsbEhci now receives URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER IN requests,
 which is where we want to be for informing hub driver which port a device has been connected.

svn path=/trunk/; revision=45668
2010-02-23 11:20:15 +00:00
James Tabor 713671e519 [Win32k|Gdi32]
- Fix GdiBatch, the limit is for user space not system. Revert 45659.

svn path=/trunk/; revision=45667
2010-02-23 04:18:24 +00:00
James Tabor 478e25e9c8 [Win32k]
- Fix the new GetClipRgn clipping wine test for EqualRgn and clip region note.

svn path=/trunk/; revision=45666
2010-02-23 03:17:37 +00:00
James Tabor b86b56905f [User32]
- ReactOS uses DCX_KEEPCLIPRGN to prevent the deletion of regions so user support can manage them. Comctl32 depends on this since it does not delete the regions after calling DefWindowProc.

svn path=/trunk/; revision=45665
2010-02-23 03:14:09 +00:00
James Tabor 1441c052a2 [Win32k]
- Properly assign error code when a real status error occurred.
- Free the non user event container for WaitForInputIdle.

svn path=/trunk/; revision=45664
2010-02-23 03:08:16 +00:00
Eric Kohl b37ba9e7e6 Split the initial status code for drivers and services.
You can easily test services by uncommenting '#define USE_SERVICE_STATUS_PENDING'.

svn path=/trunk/; revision=45663
2010-02-22 23:17:03 +00:00
Colin Finck 606504c918 Put Vizzini's "csq.h" in the Public Domain with permission from the author:
<sedwards>    I talked to vizini
<sedwards>    it's public domain
<sedwards>    do what you will
<sedwards>    slap your name on it
<sedwards>    and submit it
<Colin_Finck> I can just do a commit to put it under PD now and everything will be alright?
<sedwards>    yes, the author who wishes to remain anonymous is quite fine with that

svn path=/trunk/; revision=45662
2010-02-22 22:00:00 +00:00
Dmitry Gorbachev 41e49f062c Clean up RPCSS.
svn path=/trunk/; revision=45661
2010-02-22 21:36:07 +00:00
Christoph von Wittich 3d06ca1682 fix build
svn path=/trunk/; revision=45660
2010-02-22 19:49:58 +00:00
Timo Kreuzer 0500f8535d [GDI32]
- Quickfix the region leak, by commenting out the user mode part in DeleteRegion. Thanks to Caemyr for finding the guilty revision.

svn path=/trunk/; revision=45659
2010-02-22 19:27:35 +00:00
Eric Kohl a634cc3aa5 Revert remaining parts of patches 45626 and 45633.
svn path=/trunk/; revision=45658
2010-02-22 19:26:54 +00:00
Johannes Anderwald 5254d0720d [PSDK]
- Add BDA interfaces

svn path=/trunk/; revision=45657
2010-02-22 19:03:09 +00:00
Eric Kohl 1f5ef200f3 Reenable critical debug messages.
svn path=/trunk/; revision=45656
2010-02-22 18:56:51 +00:00
Aleksey Bragin 03e2179298 [NTOS]: Enable high/low memory events notifications.
svn path=/trunk/; revision=45655
2010-02-22 16:44:13 +00:00
Aleksey Bragin e843ac6cde [NTOS]: Temporarily disable last part of MiInsertZeroListAtBack which seems to cause issues in the 1st stage.
svn path=/trunk/; revision=45654
2010-02-22 13:39:30 +00:00
Aleksey Bragin 8ab9b6b233 - Buildbot defibrillation attempt 2/2.
svn path=/trunk/; revision=45653
2010-02-21 22:38:08 +00:00
Aleksey Bragin e2d2bf1c73 - Buildbot defibrillation attempt 1/2 (proposed by Colin).
svn path=/trunk/; revision=45652
2010-02-21 22:26:07 +00:00
James Tabor eda3a3cf5b - Add patch back after sync with force.
svn path=/trunk/; revision=45650
2010-02-21 12:47:07 +00:00
James Tabor 3cb2ec9044 - Add patch back after sync.
svn path=/trunk/; revision=45649
2010-02-21 12:35:18 +00:00
Colin Finck 438e9f0fde Use the most probable cabman and rapps path to get this batch file to work for most people.
svn path=/trunk/; revision=45648
2010-02-21 12:03:45 +00:00
Michael Martin c12f915d85 [usb/usbehci]
- Add missing break's in CompletePendingURBRequest that caused crashes.- Add some debugging for Urb Function URB_FUNCTION_CLASS_OTHER.
- Implement IOCTL_INTERNAL_USB_GET_HUB_COUNT returning only 0 Hubs for now.
- Implement RootHubInitNotification.
- Misc cleanup.


svn path=/trunk/; revision=45647
2010-02-21 11:34:54 +00:00
Sir Richard 4556434fc8 [NTOS]: Insert pages into zero list with specific MiInsertZeroListAtBack function instead of generic MiInsertInTailList. Allows us to handle insertion into colored page lists (not yet used) correctly, as well as update the page location to ZeroedPageList automatically (so don't let the callers do this anymore). Also handle memory threshold accounting.
svn path=/trunk/; revision=45645
2010-02-21 03:52:22 +00:00
James Tabor d1b13d0054 - Add patch back after sync.
svn path=/trunk/; revision=45644
2010-02-21 03:18:19 +00:00
James Tabor 13150d138f - Sync to wine release 1.1.39.
svn path=/trunk/; revision=45643
2010-02-21 03:11:32 +00:00
James Tabor ee963f5cdc - Sync to wine release 1.1.39.
svn path=/trunk/; revision=45642
2010-02-21 03:00:07 +00:00
Sir Richard 662fe5030b [NTOS]: Use system PTEs for drivers, both boot drivers and system-loaded drivers. This removes the last user of the deprecated MmAllocateSection internal API. Another side-effect is that drivers will now have much higher load addresses (in the 0xF0000000 and higher range), as you would expect on Windows, plus increasing coverage and usage of system PTEs (which can still be optimized).
[NTOS]: Do not "copy" boot drivers from one set of pages to another set of pages. Instead, use system PTEs to map the boot drivers to a new VA, and set the PFNs to the original PFNs that the loader had obtained (and don't free that memory). This avoids some overhead.
[NTOS]: Now the only user of MmMapMemoryArea is the caching code, which I won't touch.

svn path=/trunk/; revision=45641
2010-02-21 02:13:20 +00:00
Eric Kohl 2445098aef Partially revert patches 45626 and 45633.
Several services do not report their status to the service manager properly. Therefore we must not use any code that relies on service status information as part of the setup and boot processes as long as these issues have not been fixed. The service manager still needs to provide fake information about the service status.

svn path=/trunk/; revision=45640
2010-02-20 23:10:53 +00:00
Aleksey Bragin 3d83b18cf3 - Don't prepend fastcall forward's target with @. Fixes binding issues in videoprt, thanks to Olaf Siejka for identifying the issue.
svn path=/trunk/; revision=45639
2010-02-20 22:53:11 +00:00
Sir Richard 23323a7250 [NTOS]: Make MM init read MmProductType to determine what SKU of ReactOS this is, instead of assuming Server. If you want to go back to the old behavior, you need to change "WinNT" to "ServerNT" in the hivesys under Product Type.
[NTOS]: Configure the MmSystemSize variable properly based on SKU and RAM. Previously, ReactOS told all drivers and applications you were running on a system with < 13MB RAM.
[NTOS]: Initialize thresholds for low and high memory (in pages), low and high paged pool memory, and low and high nonpaged pool memory. These are described in the source.
[NTOS]: Initialize events for each of those thresholds, and populate the \KernelObject\xxxCondition events that are documented in MSDN for driver and app developers.
[NTOS]: Define some internal thresholds to use later, representing the minimum number of free pages under we go berserk, and the minimum number of free pages that we consider "plenty".
[NTOS]: Rename MiRemoveFromList to MiUnlinkFreeOrZeroedPage (Windows name). Make the function handle MmAvailablePages decrement, instead of having the caller do it.
[NTOS]: Remove run-time initialization of the PFN lists, just initialize them statically (also fixes the fact we forgot to initialize their names).
[NTOS]: Move some more initialization code to ARM3 instead of mm.
[NTOS]: Read ProductType from registry into MmProductType instead of dummy value. Remove duplicate "Mirroring" variable read.

svn path=/trunk/; revision=45638
2010-02-20 21:48:36 +00:00
Eric Kohl 697374c8e1 [SERVICES]
Disable a number of debug messages in the service manager.

svn path=/trunk/; revision=45637
2010-02-20 20:52:14 +00:00
Eric Kohl c6d4485959 [ADVAPI32]
Silence a lot of non-critical service manager error messages (ERR->TRACE).

svn path=/trunk/; revision=45636
2010-02-20 16:33:28 +00:00
Sir Richard 60f00192eb [NTOS]: Remove SwapEntry parameter from MmAllocPage since it was always zero.
[NTOS]: Store SwapEntry as WsIndex. We can do this now since Flink is only used when the page is in a list (meaning it's not active, ie. free or zero), and non-active pages don't have a swap entry.

svn path=/trunk/; revision=45635
2010-02-20 14:47:23 +00:00
Sir Richard 6118ff6a3c [NTOS]: Manage the PFN lists using the correct Flink/Blink semantics of the MMPFN structure, instead of typecasting a LIST_ENTRY on top of Flink and PteAddress. This allows PteAddress to be used now, and minimizes the number of differences between MMPFN and the ReactOS PHYSICAL_PAGE.
[NTOS]: Zero pages starting at the head of the free list, insert them at the back.
[NTOS]: Add MiInsertPageInFreeList to build the colored lists (not yet used) in the ARM3 PFN database.
[NTOS]: Rename the ReactOS PFN lists for free/zero to their real names as used in Windows.

svn path=/trunk/; revision=45634
2010-02-20 14:40:21 +00:00
Eric Kohl ad0ec3b76b [SERVICES] When autostart services are up, signal an event.
[SYSSETUP] Wait until all autostart services are up. Bug #4194.

Patches by Dmitry Gorbachev.
See issue #4142 for more details.

svn path=/trunk/; revision=45633
2010-02-20 13:04:56 +00:00
Eric Kohl 8ab0f28658 Make EventLog and Spooler services report their status to the SCM.
svn path=/trunk/; revision=45632
2010-02-20 12:59:53 +00:00
Daniel Reimer 90ce7d8b37 XML Compliance Patch for the RBUILD Files. By Samuel Serapion
svn path=/trunk/; revision=45631
2010-02-20 12:41:24 +00:00
Sir Richard 3bdd2efbc3 [NTOS]: Disable support for global pages since it does not seem to work right on real hardware. Additionally, the code had been previously enabling global pages before the variable determining the support for such pages was even enabled, causing non-global pages to be used initially, followed later by global pages once the variable had been setup. To fix this mess, remove all global page support for now. Fixes booting on certain real hardware (or fixes other random memory corruptions).
Thanks to Caemyr.

svn path=/trunk/; revision=45627
2010-02-19 22:43:34 +00:00
Eric Kohl 69a020df26 [SERVICES] Set default status to SERVICE_START_PENDING when starting a service.
[SYSSETUP] Wait until PlugPlay service is up. Bug #4142.
[UMPNPMGR] Update the service control manager's status information.

Patches by Dmitry Gorbachev.

svn path=/trunk/; revision=45626
2010-02-19 20:03:11 +00:00
Sir Richard 84f7b6a683 [NTOS]: Fix premature setting of the page location of a newly allocated MDL page. Because the zeroing of non-zeroed pages is done after the initial page allocation loop (and by checking which list the page was on), setting the page location as ActiveAndValid made the zero loop believe the page was unzeroed (even though it could've come from the zeroed list), causing a superflous second zero operation.
svn path=/trunk/; revision=45625
2010-02-19 18:29:29 +00:00
Sir Richard 8f421a2ad0 [NTOS]: Fix a logic error which could cause pages on the free list which failed to be zeroed out due to running out of hyperspace mappings to appear as being on the zero page list even though they were inserted back on the free page list.
svn path=/trunk/; revision=45624
2010-02-19 18:25:29 +00:00
Sir Richard 0eb260e7ea [NTOS]: Fix an off-by-! error which caused MDL page allocation to use used pages instead of free pages.
svn path=/trunk/; revision=45623
2010-02-19 18:23:07 +00:00
Sir Richard 6bde649d94 [NTOS]: It seems the code to release a page was not properly removing a page from the working set bitmap/list in one scenario, so I added the call here too.
svn path=/trunk/; revision=45622
2010-02-19 17:55:22 +00:00
Sir Richard d68a820d81 [NTOS]: Fix an off-by-one-error which incorrectly causes GUI promotion to fail if the first GUI call is "0", since the limit on the GUI descriptor table will also be "0". We should check if the limit is equal to or lower, not just if it's lower.
Thanks to Physicus and Fireball for reporting and working this out. Should fix the "ArwinSS" problem.

svn path=/trunk/; revision=45621
2010-02-19 17:54:16 +00:00
Sir Richard de9a1c0bd4 [NTOS]: Fix off-by-one error in MDL locking which caused the last PFN not to be referenced if it was part of a locked MDL, because it was assumed to be "higher than the last PFN". This further caused the entire MDL to be incorrectly treated as an I/O space mapping. Later, when unlocked, the last PFN's reference count would drop to 0, and the virtual memory range that had been locked would now be using a freed page, that would get re-used later. Noticed this bug because my WC changes allocation strategies to increase the chance of pages at the end to be used, ans the last PFN was being used a lot due to this.
svn path=/trunk/; revision=45620
2010-02-19 17:45:10 +00:00
Cameron Gutman b05284ba36 [NTOSKRNL]
- Update boot logo copyright year
 - Patch by Gabriel Ilardi

svn path=/trunk/; revision=45619
2010-02-19 10:30:01 +00:00
Cameron Gutman 8679825696 [NTOSKRNL]
- Put back the boot logo from the old bootvid
 - Rewrite the old broken progress bar code and enable the progress bar
 - The progress bar works now :)
 - NOTE: Someone should fix the copyright year on the boot logo

svn path=/trunk/; revision=45618
2010-02-19 03:16:04 +00:00
Sir Richard 320d8bf5c9 [NTOS]: Stop storing the consumer in the PFN, as this value is never actually checked. Clears up yet another misuse of the "real" PFN structure.
svn path=/trunk/; revision=45617
2010-02-19 01:58:48 +00:00