Commit graph

42402 commits

Author SHA1 Message Date
Eric Kohl e03efb63b2 [WINLOGON]
- Move environment creation to a separate file.
- Impersonate the new user and create the 'Volatile Environment' key for the new user.

svn path=/trunk/; revision=47129
2010-05-08 16:30:56 +00:00
Gregor Schneider 0963ef8f61 Add some win32k/gdi DC tests created by Jerome Gardou
svn path=/trunk/; revision=47128
2010-05-08 16:27:36 +00:00
Sylvain Petreolle 4545e038a2 Disable test_GetLongPathNameW() in kernel32:path test for now.
Fixes testbot crash, bug 5370


svn path=/trunk/; revision=47127
2010-05-08 16:27:15 +00:00
Michael Martin 5678dca446 [win32k]
- Modify how non-queued messages are send that originate from the Win23k subsystem. 
Non-queued messages must go directly to the windows WNDPROC and not through the message pump (previews ROS behavior). 
More importantly sending these messages must not cause the sending thread to block waiting for a reply.
- Add a messaging handling function that always sends message from Win32k to the windows thread without waiting. 
This will also allow the implementation of message call back later.
- Modify PackParam and UnpackParam to accept a BOOL value to determine whether LParam needs to be allocated from NonPagedPool. 
Use with new message handling as if message sent to another thread have any pointers they must be allocated from NonPagedPool.
- Fixed broken logic in can_active_window function and co_WinPosShowWindow.
- Fixed broken logic in co_IntSendActivateMessages. 
The WM_ACTIVATEAPP message was being sent to every window belonging to the desktop twice.
Once with flag saying window was activated and again with deactivated.
- These changes should fix bugs #969, #3171, #4501, #4676, #4677, #4948.

svn path=/trunk/; revision=47126
2010-05-08 15:49:02 +00:00
Gregor Schneider 4b9b7d580f [EXPLORER]
- Use proper buffer size, font type and an arbitrary high system time to create the size of the systray clock window
- Fixes clock clipping
See issue #2320 for more details.

svn path=/trunk/; revision=47125
2010-05-08 15:33:40 +00:00
Timo Kreuzer f820fe7a43 [WIN32K]
Fix broken parameter passing from EngMaskBitBlt to (Alpha)BltMask. It was passing the wrong surface and the wrong point. Rename some parameters to reflect what their usage is. Add ASSERTs to make sure noone passes useless parameters. Fixes crippled text in startmenu.
The whole code is broken by design, anyway it will go away, once the new text rendering code is done.
See issue #4379 for more details.

svn path=/trunk/; revision=47124
2010-05-08 15:30:59 +00:00
Cameron Gutman f0d7ecd148 [PSDK]
- Replace WINE's commctrl.h with mingw-w64's commctrl.h
- Move WINE-specific hacks to reactos/wine/commctrl.h
- Patch by Timo Kreuzer
- Fixes bug 4958

svn path=/trunk/; revision=47123
2010-05-08 14:47:42 +00:00
Eric Kohl 3c586a19b2 [WINLOGON]
Add missing newline to a TRACE message.

svn path=/trunk/; revision=47122
2010-05-08 13:07:40 +00:00
Timo Kreuzer 4c417355a6 Disable GDI batch code for regions. "Fixes" broken drawing for AcrobatReader. Yes, it's a "band aid over a bullet wound". I hope the man with the gun is a surgeon, too.
svn path=/trunk/; revision=47121
2010-05-08 01:17:46 +00:00
Eric Kohl 3f5ef48069 [USERENV]
- Create the environment variables 'ProgramFiles' and 'CommonProgramFiles' from the registry.

Fixes bug #4008.
See issue #2972 for more details.

svn path=/trunk/; revision=47116
2010-05-07 00:17:04 +00:00
Aleksey Bragin a2464ecca7 [KERNEL32]
- Code committed in revision 846 was lazily initializing command line options with a first call to GetCommandLine. However, this is not really thread-safe. Move initialization to DLL_PROCESS_ATTACH, where it should actually happen.
See issue #5347 for more details.

svn path=/trunk/; revision=47113
2010-05-06 10:50:26 +00:00
Aleksey Bragin c47421927e [ADVAPI32]
- Katayama Hirofumi: Use a real computer name instead of an empty string when reporting events in ReportEventA and W.
See issue #5358 for more details.

svn path=/trunk/; revision=47112
2010-05-06 10:09:33 +00:00
Aleksey Bragin 50367b3dac [ADVAPI32]
- Katayama Hirofumi: Create GUID instead of hardcoding to 0 every time.
See issue #5364 for more details.

svn path=/trunk/; revision=47111
2010-05-06 09:44:59 +00:00
Cameron Gutman 6b6c137341 [NTOSKRNL]
- Don't enable the kernel debugger if the DEBUG option was not set
- Fixes displaying the BSOD when not booting in debug mode (broken in r41534)

svn path=/trunk/; revision=47110
2010-05-06 01:45:10 +00:00
Cameron Gutman a9e356ef1d [VIDEOPRT]
- Also check for the BASEVIDEO option set and return true in that case also
- Fixes a bug with boot time (F8) options on my WC

svn path=/trunk/; revision=47109
2010-05-05 23:16:17 +00:00
Cameron Gutman 8481a4f1b9 [NTOSKRNL]
- Implement Ke386IoSetAccessProcess, Ke386SetIoAccessMap, and Ke386QueryIoAccessMap
[NDK]
- Add definition of KIO_ACCESS_MAP

- Patch by Samuel Serapion
- Fixes bug 2641

svn path=/trunk/; revision=47108
2010-05-05 23:06:32 +00:00
Eric Kohl ac293dd5d6 [FORMATTING]
No code changes.

svn path=/trunk/; revision=47107
2010-05-05 22:53:01 +00:00
Eric Kohl 51e6829b67 [USERENV]
- Create 'Default User' and 'All Users' directories without postfix and append a postfix only if they already exist.
- Create the user account directory without a prefix and append a prefix if the directory already exists.
- Acquire the restore privilege before unloading a hive and remove it after unloading the hive.

Patch is based on Gabriel Ilardi's patch. Fixes bug #2972.

svn path=/trunk/; revision=47106
2010-05-05 22:30:14 +00:00
Aleksey Bragin 751c365e6e [MSTSC]
- Katayama Hirofumi: Remove temporary tchar.h inclusion and usage of _tcslen (replaced with lstrlen).

See issue #5360 for more details.

svn path=/trunk/; revision=47105
2010-05-05 19:00:13 +00:00
Aleksey Bragin 4b382e5846 [FONTVIEW]
- Katayama Hirofumi: Redraw the window when string is set.
See issue #5357 for more details.

svn path=/trunk/; revision=47104
2010-05-05 18:54:36 +00:00
Giannis Adamopoulos e3ce00b76b [win32k]
-Fix sending WM_KILLFOCUS when we give focus to a window of a different thread

Fixes bugs 1546 and 1603

svn path=/trunk/; revision=47103
2010-05-05 10:08:23 +00:00
Jeffrey Morlan 79121eccea [NTOSKRNL] In kdbg 'thread list', don't try to read from the kernel stack if there isn't one. (Bug 5318)
svn path=/trunk/; revision=47102
2010-05-04 23:17:30 +00:00
Johannes Anderwald 950bbde105 [SHELL32]
- Use target path when there is no icon path specified

svn path=/trunk/; revision=47100
2010-05-04 08:28:42 +00:00
Eric Kohl dbfa8cfb54 [SETUP]
- Don't call InitializeProfiles() twice. This is one part of the fix for bug 2972. Patch by Gabriel Ilardi.

svn path=/trunk/; revision=47099
2010-05-03 22:15:53 +00:00
Cameron Gutman c751f4300a [NTOSKRNL]
- Fix a typo that results in ISRs being called at an unsafe IRQL (Interrupt->Irql instead of Interrupt->SynchronizeIrql) in certain situations (when Interrupt->Irql < Interrupt->SynchronizeIrql) that can result in ISR synchronization issues

svn path=/trunk/; revision=47098
2010-05-03 22:03:15 +00:00
Johannes Anderwald 4b714650f4 [SHELL32]
- Show icons / folders from AllUsers\Desktop directory
- Fixes bug 4289

svn path=/trunk/; revision=47097
2010-05-03 19:26:12 +00:00
Cameron Gutman 66482fa4f3 - Remove a forgotten debug print
svn path=/trunk/; revision=47091
2010-05-03 00:30:49 +00:00
Cameron Gutman c55eb25c06 [NDIS]
- Provide a IRP_MJ_CREATE and IRP_MJ_CLOSE handler for miniport drivers so IoGetDeviceObjectPointer doesn't fail (and consequently, IoSetDeviceInterfaceState)

svn path=/trunk/; revision=47090
2010-05-03 00:28:29 +00:00
Cameron Gutman 2fce2d1d8f [NETCFGX]
- Remove the hack that set DI_NEEDRESTART for all network adapters which prevented us from starting the miniport driver
- Part of the fix for bug 3716

svn path=/trunk/; revision=47089
2010-05-03 00:06:31 +00:00
Timo Kreuzer 567bf0c188 [NTDLL]
The harderror message for STATUS_DLL_NOT_FOUND expects an ANSI dll name.

svn path=/trunk/; revision=47088
2010-05-02 23:26:06 +00:00
Cameron Gutman 31c846d674 [VGA]
- Return SPS_ACCEPT_NOEXCLUDE from DrvSetPointerShape because we completed the requested operation successfully
- Patch by Daniel Zimmermann
- Fixes bug 4347

svn path=/trunk/; revision=47087
2010-05-02 21:04:47 +00:00
Johannes Anderwald dc3a34f70b [SETUPAPI]
- Store device settings in the "Device Parameters" key, as the kernel now does it too
- Fixes display of AC97 device in audio cpl

svn path=/trunk/; revision=47084
2010-05-02 19:19:28 +00:00
Michael Martin 91e196a64f [win32k]
- co_UserDestroyWindow: ThreadInfo->pDeskInfo->hShell holds the hWnd of the Shells Desktop Window. Set it to NULL if that windows is being destroyed. Fixes bug #4902.

svn path=/trunk/; revision=47082
2010-05-02 16:40:05 +00:00
Aleksey Bragin 2b896af128 Gabriel Ilardi:
- Update spanish %temp% path, part of bug 2482.

svn path=/trunk/; revision=47081
2010-05-02 11:47:19 +00:00
Michael Martin d94aa6cafd [win32k]
- IntMouseInput: Add the state of virtual keys to wParam before calling MsqInsertSystemMessage. Fixes bug #5066.
- Add and Remove MK_XBUTTON1/2 flags to CurInfo->ButtonsDown vice XBUTTON1/2.
- Code based on patches in bug #5066.

svn path=/trunk/; revision=47080
2010-05-02 11:34:13 +00:00
Eric Kohl 2d25ad0d85 - Convert hivedef_i386.inf to Unicode.
- Add Strings-Sections for several languages and add TEMP_DIR string.

Please translate the TEMP_DIR string as this is the sollution for bug #2482.

svn path=/trunk/; revision=47079
2010-05-01 22:17:34 +00:00
Eric Kohl 1f235be55f Delete ANSI version.
svn path=/trunk/; revision=47078
2010-05-01 22:16:44 +00:00
Eric Kohl f6cb22d04e Remove duplicate line. WRC complains about the control id already being in use.
svn path=/trunk/; revision=47077
2010-05-01 22:00:09 +00:00
Eric Kohl 4f7643e5b3 [CMLIB/NEWINFLIB/MKHIVE]
- Make cmlib, newinflib and mkhive use the Wine unicode lib instead of the host_wcsfuncs lib.
- Only the header file include/host/wcsfuncs.h is still used to map str*W functions to wcs* functions in WIN32 builds.
- Remove obsolete rtl functions.
- Make mkhive use the newinflib instead of inflib.

ATTENTION: This might break the build bot although it has been tested on Windows and Linux!!!

svn path=/trunk/; revision=47076
2010-05-01 20:17:11 +00:00
Michael Martin 35ff67b13e [win32k]
- Only call ExFreePool.. if Buffer is not NULL, which can occur if the Unicode String MessageNameUnsafe coming from user mode is incorrect. Fixes a bugcheck when using OllyDbg V2.0.

svn path=/trunk/; revision=47075
2010-05-01 13:32:38 +00:00
Timo Kreuzer f4fd1abac0 [GDI32]
- Fix pointer arithmetics in the gdi batch code (&pTeb->GdiTebBatch.Buffer[0] is a PULONG, but pTeb->GdiTebBatch.Offset is a byte offset)
- To prevent this from happening again, refactor the code to use one common routine GdiAllocBatchCommand to do most of the stuff.
- Reenable gdi batch for SelectObject
- Fixes gdi handle leak, causes some drawing problems in Acrobat reader, but those are less critical and I'll investigate those.

svn path=/trunk/; revision=47074
2010-05-01 13:02:46 +00:00
Michael Martin 18af76559c [win32k]
- Revert the hack done in 47059 to apply a better solution. 
- co_IntCreateWindowEx: Add the WNDS2_WMCREATEMSGPROCESSED flag to state2 member of WND after sending the WM_CREATE message.
- By setting this flag it can be examined elsewhere to determine if the window was created successfully.
- co_UserDestroyWindow: Examine above mentioned flag to make sure the windows was created before calling hook procedure to inform of destroying window.

svn path=/trunk/; revision=47073
2010-05-01 12:02:23 +00:00
Johannes Anderwald daff774a1a - Partly revert 470470
svn path=/trunk/; revision=47072
2010-05-01 10:47:23 +00:00
Eric Kohl d771ba8ec6 [NEWINFLIB]
- Change Unicode string functions from wcs* to str*W because glibc (Linux build) provides the wcs* functions but they use a wchar_t size of 32 bits instead of the required 16 bits.
- Add a str*W to wcs* wrapper (infrosrtl.c) in order to use the wcs* function for the WIN32 build.
- Add required str*W functions to the host library.

ATTENTION: This might break the build bot although it has been tested on Windows and Linux!!!

svn path=/trunk/; revision=47071
2010-05-01 10:43:39 +00:00
Johannes Anderwald 06ef98d273 [WIN32K]
- Add an assert to PostTimerMessages to catch null pointer windows
- Add another assert to catch special windows (Window == 1)
- Improve check if the window is '1'

svn path=/trunk/; revision=47070
2010-05-01 10:42:45 +00:00
Johannes Anderwald a0790104cc [WIN32K]
<bug>
- The timer implementation uses a bitmap to store window-less timers. As an optimization to find the first free index, it uses the variable "HintIndex" which points to the first timer index. In order to find the next free index, the RtlFindClearBitsAndSet function is used. When a new timer is allocated, the "HintIndex" variable is increased, which increases the search offset. Now if more than NUM_WINDOW_LESS_TIMERS (1024) timers are allocated, no more timers can be allocated because RtlFindClearBitsAndSet will claim no more index are available, because the free indexes are below the search offset. 
</bug>
<fix>
Everytime a timer gets freed, store the freed index in "HintIndex". As a result the timer implementation will always find a free timer index (when there is one)
</fix>

svn path=/trunk/; revision=47069
2010-05-01 09:55:16 +00:00
Cameron Gutman e66431b123 [PCI]
- Store correct bus and slot information in resource lists that we give in response to IRP_MN_QUERY_RESOURCES and IRP_MN_QUERY_RESOURCE_REQUIREMENTS
- Fixes bug 4354

svn path=/trunk/; revision=47068
2010-05-01 01:52:47 +00:00
Timo Kreuzer 9bb0bed655 [WIN32K]
- Fix IntDumpHandleTable, it was very broken.

svn path=/trunk/; revision=47067
2010-04-30 22:48:43 +00:00
Timo Kreuzer 8dc269c258 [NTOSKRNL]
- Fix RtlWalkFrameChain to do usermode back traces for threads that are not system threads. Also use _SEH2_YIELD when leaving the SEH block.

svn path=/trunk/; revision=47066
2010-04-30 22:47:44 +00:00
Michael Martin 0409ef75e8 [win32k]
- When calling NtUserCallNextHookEx check that the current hook is not the first in the chain. If so don't call the hook proc and just return, as it has already been called and it makes no sense for the NextHook function to call the first hook proc. Fixes bugs #4461 and #4407.
- The previous commit claiming to fix bug #4461 was incorrect, it may have actually fixed bug #5320. Testers please test.

svn path=/trunk/; revision=47065
2010-04-30 11:23:17 +00:00