Commit graph

37396 commits

Author SHA1 Message Date
Dmitry Gorbachev e50ff89e86 Color schemes by Peter Dimitriu. Bug #4654.
svn path=/trunk/; revision=41750
2009-07-02 22:41:39 +00:00
Matthias Kupfer f71dce8c39 IntIsMenu() removed - use UserGetMenuObject() instead
svn path=/trunk/; revision=41749
2009-07-02 22:28:58 +00:00
Colin Finck 6f56231f21 Merge the OpenTTD update from 0.3.10 branch
svn path=/trunk/; revision=41748
2009-07-02 21:18:18 +00:00
James Tabor a9a2a4be8f - In the process of rewriting IntGdiCreateDisplayDC, making it an intermediate level support function for IntGdiCreateDC.
svn path=/trunk/; revision=41744
2009-07-02 19:09:32 +00:00
Benedikt Freisen d5fa564670 Fixed cropping function and implemented size boxes
svn path=/trunk/; revision=41742
2009-07-02 17:02:37 +00:00
Daniel Reimer 8371c9d0d1 Bug 4636: Romanian translation patch by Dimitriu Petru
Bug 4638: Japanese translation update for some files by Tomoya Kitagawa
Bug 4651: Unfinished translation to polish (ichoroszi@gmail.com)
Bug 4652: update for slovak and others translations by Mario Kacmar

svn path=/trunk/; revision=41739
2009-07-02 08:33:06 +00:00
Johannes Anderwald 6b46801171 - Register a device interface for each stream
svn path=/trunk/; revision=41738
2009-07-02 07:58:06 +00:00
Cameron Gutman 21929c948e - tcpip locking rewrite (part 1 of x)
- Use ExInterlocked list functions to manipulate the request lists
 - Fix usage of the wrong lock to protect the listen request list
 - Next step: Optimize usage of TCPLock

svn path=/trunk/; revision=41737
2009-07-02 07:16:50 +00:00
Cameron Gutman 661d9e889c - Don't cancel already completed requests
- Fix potential NULL pointer access
 - Actually disassociate the address file and connection in DispTdiDisassociateAddress
 - Insert new requests at the end of the list not the beginning

svn path=/trunk/; revision=41736
2009-07-02 06:51:34 +00:00
James Tabor b0f7201ddb - wine sync dde.c and dde_private.h to 1.1.24.
svn path=/trunk/; revision=41735
2009-07-02 05:07:12 +00:00
Matthias Kupfer a0680b7d25 Mikhail Denisenko <denisenkom AT gmail DOT com>
- Add symbols to system menu by using marlett font.
- See issue #4450 for details.

svn path=/trunk/; revision=41733
2009-07-01 21:56:44 +00:00
Christoph von Wittich 9f3c9390f1 fix msvc build
svn path=/trunk/; revision=41732
2009-07-01 21:31:13 +00:00
Matthias Kupfer f11dc64ecc change to LOGFONTW, because it's unicode
svn path=/trunk/; revision=41730
2009-07-01 20:54:40 +00:00
Colin Finck 8e916f0d4b Add some more working apps to the Downloader list, update the RosBE link.
Based on a patch by Victor Martinez

svn path=/trunk/; revision=41729
2009-07-01 19:49:45 +00:00
Benedikt Freisen 18bef83e69 Paint:
- Fixed new bug in palette drawing (replacing a + by a -)
- Added "Show grid" and "Show miniature" functions
- Therefore changed the menus -> please check translations

svn path=/trunk/; revision=41728
2009-07-01 19:24:17 +00:00
James Tabor 345be0f17a - Add more vista types. Added another window message type, based on winproc.c. Added two vista prototypes for ntuser.
- Implemented new PostMessage and SendNotifyMessage, this is for bug 4646. I realize the need to update/sync dde code from wine. This relates to the new post and send functions and the use of MsgiKMToUMMessage. Trying to understand this mess.
- CreateDesktop is used to create the HWND_MESSAGE for the desktop. This is a work in progress. The ntuser prototype is updated too. Now pass the correct data from user to kernel space.
- Major update to event code and testing with user32 wine test msg. ATM, only two ntuser notifications are sent if the app has a event hook. Need to add more notifications at the correct points.
- Code arranging in hooks. Testing with user32 cross test works, need to add more ntuser hook calls at the correct points.
- Testing: More is required! User32 cross tests win and msg, win test hangs at flush_events. FF 1.5.x (Still has that funny minimize bug. Play with it and see. Missing one more check I think.) and AbiWord 2.4.1. Notepad lite is doing something very naughty inside it's hook call, with out the source, testing it will be imposable, so someone needs to find an open source program that does the same thing.
- Reference: Drag and drop file into window: winproc.c WM_COPYGLOBALDATA http://wiki.winprog.org/wiki/Windows_messages

svn path=/trunk/; revision=41727
2009-07-01 17:19:16 +00:00
Johannes Anderwald 67c08d9b00 - Remove dead code
- Reuse free audio handle index

svn path=/trunk/; revision=41726
2009-07-01 15:00:12 +00:00
Johannes Anderwald f6ef04567a - Partly Implement StreamClassReadWriteConfig
- Allocate a HwInstance buffer which is passed to each instantiated filter instance

svn path=/trunk/; revision=41725
2009-07-01 14:44:31 +00:00
Dmitry Gorbachev 645b22988a Fix some warnings / bugs.
svn path=/trunk/; revision=41724
2009-07-01 09:59:47 +00:00
Cameron Gutman fdb5cd14fe - Fix corruption of ARP target protocol address
- We were copying the address type (1 byte) and 3 bytes of the target address instead of all 4 bytes of the target address

svn path=/trunk/; revision=41723
2009-07-01 05:14:56 +00:00
Timo Kreuzer 8cb1238455 intrin_x86: Don't test for __MSVCSRT__ when implementing _rotr and _rotl. gcc defines __MSVCSRT__ and "knows" these funtions, but doesn't implemnt them.
svn path=/trunk/; revision=41722
2009-07-01 00:40:07 +00:00
Cameron Gutman fd848cadad - Put the correct source address in Raw IP and UDP packets
- Remove (now unused) IPGetDefaultAddress which just broke things
 - Fixes responses from different IP addresses when trying to ping the loopback adapter
 - See issue #4573 for more details

svn path=/trunk/; revision=41720
2009-06-30 21:14:21 +00:00
James Tabor 5ad493ce71 - Implement support function adding global atoms in win32k.
svn path=/trunk/; revision=41719
2009-06-30 19:12:02 +00:00
Cameron Gutman 95f968d50b - Restore a value that is lost in MiniportReset when AddressingReset is TRUE
- I need to do more investigation on which values need to be restored but I know CurrentLookahead is one of them
 - Add support for protocol-initiated miniport resets

svn path=/trunk/; revision=41718
2009-06-30 18:44:26 +00:00
Christoph von Wittich 2fc619f0ec this should fix ATI IXP700 in compat mode
See issue #4591 for more details.

svn path=/trunk/; revision=41717
2009-06-30 15:57:20 +00:00
Colin Finck f0b9fbd0f9 SVN maintenance: Add missing svn:ignore properties to many directories and fix some existing ones
svn path=/trunk/; revision=41716
2009-06-30 15:39:49 +00:00
Colin Finck 3c23e13901 Remove non-existing "windows" module, the "optional" one is still just virtual.
See issue #4645 for more details.

svn path=/trunk/; revision=41715
2009-06-30 15:09:08 +00:00
Christoph von Wittich 25e9d83a07 replace some values by constants
svn path=/trunk/; revision=41714
2009-06-30 14:21:33 +00:00
Aleksey Bragin e468760dd8 - Rewrite VideoPort and Win32k (Eng) event functions to:
* Use a documented ENG_EVENT structure (thus be compatible with Windows videoprt/win32k) instead of a stupid (PKEVENT) casting everywhere through EngEvent or VideoPort event functions;
 * Implement additional checks for user mapped events in EngDeleteEvent and EngWaitForSingleObject;
 * Implement EngReadStateEvent and EngClearEvent.
 * Provide a better, readable code which matches kernelstyle coding guidelines;
 * Remove (stub out) totally incorrect and buggy map user events support;
- Compile videoprt with ms-extensions flag enabled.

svn path=/trunk/; revision=41713
2009-06-30 13:42:42 +00:00
Aleksey Bragin 615a35bf83 - Remove empty directory (include/reactos/drivers/drivers).
svn path=/trunk/; revision=41712
2009-06-30 13:10:27 +00:00
Christoph von Wittich b82cc3d686 get rid of obsolete SHLocalAlloc/Free functions and export the correct v6 functions instead
patch by <jerome dot gardou at laposte dot net>

svn path=/trunk/; revision=41711
2009-06-30 10:48:41 +00:00
ReactOS Portable Systems Group c254a0e212 - Move MmIsThisAnNtSystem and MmQueryMemorySize to mmsup.c instead of randomly in mminit.c.
- Cleanup some externs that were never referenced in mminit.c.
- Remove MiShutdownMemoryManager since it was dead code.
- There is no need to define the MiKseg0Start/End variables and loop through the memory descriptors to find the last kernel image. We already have this information through LoaderPagesSpanned saved in MmBootImageSize.
  - Removed these variables, code that depended on them, and MiGetLastKernelAddress, and switch to just using MmBootImageSize, which simplifies things a lot.
- Also simplify the way that the initial memory latout is setup. Now the PFN database will always start after MmBootImageSize + KSEG0_BASE, instead of relying on the fact FreeLDR, on certain machines, may have had leftover space in the 6MB allocation that it makes (And worse, assuming FreeLDR on all architectures will allocate 6MB).
  - This standardizes the PFN database address and makes the code portable.
  - Same for the nonpaged pool address.
- Should not call MmInitializeHandBuiltProcess for the idle process -- this will be called for the system process in PsCreateProcess.
  - The only thing we need, as the comment says, is the kernel MADDRESS_SPACE, so just initialize the lock for it.
- Do not zero MmStats since the load-linker takes care of that for us since it's a global.


svn path=/trunk/; revision=41710
2009-06-30 10:45:36 +00:00
ReactOS Portable Systems Group 15eecb0b40 - Cleanup some debug-only debug prints.
- Make the VA-range-printing debug prints match the same format as those in ReactOS Mm (MiDbgKernelLayout).
  - Add the appropriate number of spaces so that the layout appears continuous, even though it's coming from two source files.
  - This makes it easy to see the VA mappings at boot (but not all of them).


svn path=/trunk/; revision=41709
2009-06-30 10:38:51 +00:00
ReactOS Portable Systems Group f91f8ec7cf - Rewrite MmAllocateNonCachedMemory and MmFreeNonCachedMemory to use the new functionality present in ARM3.
- These functions now use the MDL routines to allocate their physical memory, since the constraints and requirements are identical as for a non-cached MDL mapping.
  - As for the virtual address space, it is guaranteed once again by System PTEs!
    - If it's not getting old already, optimizations to the System PTE code will, yet again, yield improvements here as well.
- This is the last large kernel-facing memory allocator that needed updating to use System PTEs instead.
  - Only the pool allocator remains (which, for nonpaged pool, also uses System PTEs, present in the nonpaged pool expansion VA).
    - That effort will take significantly longer.


svn path=/trunk/; revision=41708
2009-06-30 08:55:18 +00:00
ReactOS Portable Systems Group bd27f08336 - Major rewrite of Memory Descriptor List (MDL) implementation (moving it towards using System PTEs).
- MmCreateMdl, MmSizeOfMdl: No Change.
  - MmBuildMdlForNonPagedPool: Do not use MmGetPfnForProcess, just normal PMMPTE manipulation.
    - This seems to cause issues in certain scenarios, because in ReactOS, nonpaged pool, a resident and guaranteed resources, does not always have its PDEs mapped!
    - By calling MmGetPfnForProcess, this wound up in the annals of ReactOS mm code, which lazy-remapped the PDE. We detected this issue specifically in the cache manager, and fixed it there. It should not appear anywhere else.
  - MmAllocatePagesForMdl, MmAllocatePagesForMdlEx, MmFreePagesFromMdl:
    - The *Ex function is now implemented.
    - Allocating pages now uses MiAllocatePagesForMdl, which is based on the older MmAllocPagesSpecifyRange.
      - The code is cleaner, better commented, and better handles partial MDLs.
      - Cache flags are still ignored (so the Ex functionality isn't really there).
  - MmMapLockedPages, MmMapLockedPagesSpecifyCache, MmUnmapLockedPages:
    - These functions now use System PTEs for the mappings, instead of the hacked-up "MDL Mapping Space".
      - This frees up 256MB of Kernel Virtual Address Space.
      - Takes advantage of all System PTE functionality.
      - Once again, optimizations in the System PTE code will be felt here.
    - For user-space mappings however, the old code is still kept and used.
      - MiMapLockedPagesInUserSpace and MiUnMapLockedPagesInUserSpace are now in virtual.c and provide this.
  - MmProbeAndLockPages, MmUnlockPages:
    - The pages are actually probed now, in SEH. This did not seem to happen before (did someone misread the function's name?)
    - Probe for write is only done for write access to user pages (as documented).
    - We do not probe/check for write access for kernel requests (force Operation to be IoReadAccess).
    - Proper locking is used now: Address Space lock for user mappings, PFN lock for kernel mappings.
    - Faulting in pages (to make them available before locking) is now done outside the address space/PFN lock.
      - You don't want to be holding a spinlock/mutex while doing disk I/O!
    - For write/modify access, if the PTE is not writable, fail the request since the PTE protection overrides.
      - However, if the PTE is writable but also copy on write, then we'll fault the page in for write access, which is a legitimate operation for certain user-mode scenarios.
      - The old version always provided the CopyOnWrite behavior, even for non-CopyOnWrite pages!
    - Reference and lock every valid page that has a PFN entry (non-I/O Pages).
      - The older code did not seem to lock pages that had to be faulted in (weren't already valid).
    - Cleanup the cleanup code (no pun intended). Because we now mark the pages as locked early-on, and because of changes in MmUnlockPages, we can simply use MmUnlockPages in case of error, since it will be able to fully back-out and references/locks that we did.
      - Previous code attempted to do this on its own, in a pretty inconsistent manner, which would leave page leaks (both in references and lock count).
    - In MmUnlockPages, not as many changes, but we now:
      - Still make sure that an I/O Mapping MDL doesn't have valid PFN database pages (non-I/O).
        - An MDL can cover pages that are both I/O mapped and RAM mapped, so we have to unlock/dereference the latter instead of skipping them as the old code did.
      - Use the PFN lock when checking pages and unlocking/dereferencing them.
  - Overall, non-complete MDLs are now marked by having a -1 PFN, and the MDL code has been updated to early-break out of page-scanning loops and/or ignore such pages, which can happen in a sparse MDL.
  - Implementation has been tested on VMWare and QEMU for a variety of tasks and was found to be reliable and stable.

svn path=/trunk/; revision=41707
2009-06-30 08:29:22 +00:00
Cameron Gutman fdf20e8c9a - Memtrack enhancements
- It now warns us when it detects an entry that wasn't freed by a memtrack-enabled function
 - It also provides some info when it detects a double free
 - Removed some extra tag tracking junk

svn path=/trunk/; revision=41705
2009-06-30 02:30:36 +00:00
Matthias Kupfer 90f47c629c - revert selecting color and inactive menu state, because it doesn't work that way
- needs further invastigation

svn path=/trunk/; revision=41704
2009-06-30 00:44:59 +00:00
Colin Finck 66873243b7 Andrew Steinborn (asteinborn78@gmail.com)
- Update Firefox link to 3.0.11
  Will also be merged to the 0.3.10 release once I clean up the Downloader list there.

See issue #4642 for more details.

svn path=/trunk/; revision=41702
2009-06-29 22:21:11 +00:00
Christoph von Wittich fad8c3dbfa fix formatting
svn path=/trunk/; revision=41700
2009-06-29 21:10:40 +00:00
Cameron Gutman 6bed52e321 - Allocate IP_PACKET on the stack
- Reduces non-paged memory consumption

svn path=/trunk/; revision=41698
2009-06-29 20:18:32 +00:00
Matthias Kupfer 44ab91c5e6 - continue "marletting"
- scrollbar size grip with marlett
- untested for DFCS_SIZEGRIPRIGHT, but should work too

svn path=/trunk/; revision=41697
2009-06-29 20:18:21 +00:00
Christoph von Wittich c80e60de20 more header cleanup
svn path=/trunk/; revision=41696
2009-06-29 19:50:12 +00:00
Christoph von Wittich 9458da0029 fix build
svn path=/trunk/; revision=41695
2009-06-29 18:47:29 +00:00
Colin Finck 4d9e5830a1 SVN maintenance: Remove some svn:keywords properties
svn path=/trunk/; revision=41694
2009-06-29 18:24:35 +00:00
Christoph von Wittich c80579baa7 include winreg.h
svn path=/trunk/; revision=41693
2009-06-29 18:23:48 +00:00
Christoph von Wittich 567fa14209 sync test.h with wine 1.1.24
svn path=/trunk/; revision=41691
2009-06-29 17:57:47 +00:00
Christoph von Wittich 5c86565676 define WINE_UNICODE_API msvc compatible
svn path=/trunk/; revision=41690
2009-06-29 17:53:26 +00:00
Christoph von Wittich 9efabca05c some header cleanup
svn path=/trunk/; revision=41689
2009-06-29 17:38:57 +00:00
Matthias Kupfer 6d45e8b2a1 CBS_DISABLENOSCROLL ist quite useless
svn path=/trunk/; revision=41688
2009-06-29 17:24:42 +00:00
ReactOS Portable Systems Group 2d48fb35be - Fix an incorrect (should be 1024) ASSERT by removing it entirely (no real point to having it).
- Fixes issues on systems where it turns out the PDE-alignment actually goes beyond 4 million bytes (since 4MB is a little bit more, and is the maximum alignment-based boost you can get).


svn path=/trunk/; revision=41687
2009-06-29 17:17:22 +00:00