Commit graph

42165 commits

Author SHA1 Message Date
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
Cameron Gutman 174a4670ea [NTOSKRNL]
- Fix a horrible casting bug
- EventCategoryData1 is a pointer to a GUID not a pointer to a UNICODE_STRING
- Convert the GUID into a UNICODE_STRING properly by using RtlStringFromGUID and pass that string to RtlCompareUnicodeString
- Fix another bug which results in us sending EventCategoryHardwareProfileChange and EventCategoryTargetDeviceChange events to everyone registered for PnP notifications
- Fixes sending EventCategoryDeviceInterfaceChange notifications that happen after calling IoRegisterPlugPlayNotification

svn path=/trunk/; revision=47064
2010-04-29 22:35:49 +00:00
Timo Kreuzer 04c6b45023 [MSIMTF]
Silence debug spam

svn path=/trunk/; revision=47063
2010-04-29 20:51:28 +00:00
Benedikt Freisen 93baff6f05 [PAINT]
- angle rounding for lines and polygons when SHIFT key is pressed
- equal width and height for (rounded) rectangles and ellipses when SHIFT key is pressed
Based on a patch by Katayama Hirofumi, see #5285

svn path=/trunk/; revision=47062
2010-04-29 19:56:18 +00:00
Cameron Gutman 8e5ba15296 [INF]
- Comment out the service installation for VBE and VGA so the configuration set in first-stage won't get overwritten
- Nasty graphical glitches still remain in VGA mode
- Fixes bug 2073 and bug 4192

svn path=/trunk/; revision=47061
2010-04-29 19:20:32 +00:00
Timo Kreuzer 91a35b7ec1 [NTOSKRNL]
- On backtraces, print the address of the call instruction (assumed 5 bytes lentgh) instead of the return address, which in many cases does not make sense. (WinDbg does it this way, too)
- Fix Ke386SaveFpuState to store the fpu state in the buffer, but in the pointer to the buffer
- Anable Ke386SaveFpuState to save the floating point state in KiNpxHandler and KiTrap13Handler, so we know what error we got.
- Disable saving debug registers in the trap frame, as long as the kernel doesn't support this
- Fixes ntdll_winetest exception / OllyDbg freeze/reboot

See issue #5301 for more details.

svn path=/trunk/; revision=47060
2010-04-29 16:39:52 +00:00
Michael Martin d34a8d86bc [win32k]
- Fix a problem where application that used WH_CBT hook procedures were receiving destroy window notification on windows that were never created. The window was never created because the application had returned a non zero value when it was notified of window creation, which effectively destroys the window and returns failure for window creation. See CBTProc Function on MSDN. Fixes bug #4461.

svn path=/trunk/; revision=47059
2010-04-29 13:41:32 +00:00
Giannis Adamopoulos 0ec839d544 [win32k]
- Do not do callbacks to user mode while holding a lock
- Fix when WH_MOUSE_LL and WH_JOURNALRECORD are called
See issue #4926 for more details.

svn path=/trunk/; revision=47058
2010-04-29 07:48:43 +00:00
Cameron Gutman 3ec3baec08 [NTOSKRNL]
- Rewrite IoOpenDeviceInterfaceRegistryKey using the same helper function that is used in IoGetDeviceInterfaces and IoSetDeviceInterfaceState to reduce complexity and chance of bugs (tested and confirmed working)
- Revert r46748
- Fixes bug #5321 (AC97)

svn path=/trunk/; revision=47057
2010-04-29 01:44:20 +00:00
Cameron Gutman 62b639c945 [NTOSKRNL]
- Fix length calculation of symbolic links with reference strings attached
- Fixes opening registry keys for symbolic links with reference strings (such as audio devices)

svn path=/trunk/; revision=47056
2010-04-28 20:06:28 +00:00
Sylvain Petreolle 0ddb991b14 Hardcode GeckoCabDir to C:\ReactOS.
the mshtml installer now wants a REG_SZ string for it, which excludes using %SystemRoot%.

Fixes bootcdregtest.

svn path=/trunk/; revision=47055
2010-04-28 19:15:17 +00:00
Eric Kohl 1a9d9f441c [MKHIVE/USETUP]
- Fix buffer size calculation for the parser.
- Do not try to execute an empty registry instruction
Patches by Roel Messiant.

- Stop the parser at the first NULL character.
Patch by me.

svn path=/trunk/; revision=47053
2010-04-28 11:35:34 +00:00
Cameron Gutman 9adb79a0d9 [FREELDR]
- Remove the useless function MachDiskNormalizeSystemPath
- Rewrite DiskGetBootPath to be much less hacky (but still not hack free)
- Freeloader doesn't have to be installed on multi(0)disk(0)rdisk(0)partition(1) (IDE primary master) anymore :)
- Freeloader successfully booted ROS after loading itself from multi(0)disk(0)rdisk(1)partition(1)

svn path=/trunk/; revision=47052
2010-04-28 03:07:21 +00:00
Cameron Gutman 5f783c4e2d [FREELDR]
- Set the partition count to 0 for a floppy drive so it can be told apart from a cd-rom drive
- Add a last-chance sector size detection algorithm based on the partition number
- Add the same detection code to the xbox code too (it is essentially the same as what was already there just with more comments)
- Change DiskNormalizeSystemPath so it doesn't try to "normalize" a floppy boot path
- Fixes bug #5233

svn path=/trunk/; revision=47051
2010-04-27 22:12:11 +00:00
Eric Kohl d39102cd83 [MKHIVE]
- Add RegDeleteKeyW stub.
- Implement RegDeleteKeyA so that it calls RegDeleteKeyW.

svn path=/trunk/; revision=47050
2010-04-27 21:47:54 +00:00
Michael Martin 02c3f0fa12 [ntoskrnl/io]
- Check for null pointers before attempting to copy or free memory.

svn path=/trunk/; revision=47049
2010-04-27 13:41:37 +00:00
Michael Martin 60eddf5657 [ntoskrnl\mm]
- Fix a continuous loop bug in MiWriteProtectSystemImage.

svn path=/trunk/; revision=47048
2010-04-27 13:35:52 +00:00
Aleksey Bragin e2463c955c [KMTEST]
- Add KeStallExecutionProcessor test.

svn path=/trunk/; revision=47047
2010-04-27 13:06:42 +00:00
Daniel Reimer 2e62657924 Update rapps Database to recent Versions.
svn path=/trunk/; revision=47046
2010-04-27 06:31:32 +00:00
Johannes Anderwald 42c28cc44f [SHELL32]
- Start implementing file copy / move / delete dialog
- Not yet enabled

svn path=/trunk/; revision=47043
2010-04-26 19:50:11 +00:00
Gregor Schneider 0554e844fc [EXPLORER] Add missing 24bpp start menu icon, created by Gabriel Ilardi
See issue #5007 for more details.

svn path=/trunk/; revision=47042
2010-04-26 19:01:37 +00:00
Gregor Schneider 5d4a67e625 [NETSHELL] Fix LAN status icon resource
See issue #3813 for more details.

svn path=/trunk/; revision=47041
2010-04-26 18:30:08 +00:00
Eric Kohl 93b98b3f84 [MKHIVE]
Revert remaining changes of r47019.

svn path=/trunk/; revision=47040
2010-04-26 16:06:17 +00:00
Timo Kreuzer cc87229eb8 Comment out an ASSERT that gets trigged frequently.
See issue #5320 for more details.

svn path=/trunk/; revision=47039
2010-04-26 15:46:16 +00:00
Eric Kohl 3a0805b27a [MKHIVE]
Partial revert of r47019 because mkhive failed on Linux machines.

svn path=/trunk/; revision=47038
2010-04-26 15:35:57 +00:00
Eric Kohl 9721d8084b [USETUP]
- Use newinflib instead of inflib.
- Pass the user-selected language to the inf parser.
- Convert registry code from ANSI APIs to UNICODE APIs.
ATTENTION: This commit might break the build bot because it was not tested on a Linux system.

svn path=/trunk/; revision=47037
2010-04-26 15:10:23 +00:00
Giannis Adamopoulos 17557bfabd [win32k]
-rename w32k.h to win32k.h and win32k.h to win32kp.h

svn path=/trunk/; revision=47036
2010-04-26 13:58:46 +00:00
Johannes Anderwald 5fb94ed717 [USERINIT]
- Fix Startup Folder
- ShellExecuteEx needs lots of work
See issue #4568 for more details.

svn path=/trunk/; revision=47035
2010-04-26 13:58:09 +00:00
Johannes Anderwald 3c0e9dffbc [SHELL32]
- Assume it is an empty cdrom drive when there is no root mounted

See issue #2977 for more details.

svn path=/trunk/; revision=47033
2010-04-26 12:56:32 +00:00
Johannes Anderwald 5367720c46 [SHELL32]
- Let explorer open control panel class folder when there is no default action

See issue #4916 for more details.

svn path=/trunk/; revision=47032
2010-04-26 12:26:31 +00:00
Johannes Anderwald dd0a9f5d5f [SHELL32]
- Rewrite enumerating folder options file type dialog

svn path=/trunk/; revision=47031
2010-04-26 10:38:15 +00:00
Johannes Anderwald 224b244395 - Fix file type description
svn path=/trunk/; revision=47030
2010-04-26 09:37:08 +00:00
Cameron Gutman 540e5b6f31 [NTOSKRNL]
- Create a helper function named OpenRegistryHandlesFromSymbolicLink which opens handles to various paths associated with a symbolic link
- Store the Linked value in IoSetDeviceInterfaceState
- Implement checking if an interface is enabled by reading the Linked value
- Interfaces reported from IoGetDeviceInterfaces are only active ones now (unless the caller explicitly says that they want disabled ones too)

svn path=/trunk/; revision=47029
2010-04-26 04:54:25 +00:00
Cameron Gutman 770cc844b0 [NTOSKRNL]
- Revert r46682
- The NULL terminator is not supposed to be included in the length
- Fixes corruption when printing the symbolic link

svn path=/trunk/; revision=47028
2010-04-26 04:18:11 +00:00
Timo Kreuzer b5a39d6dd1 [WIN32CSR]
- Rewrite harderror handling.
The old code was a monster function, leaking memory, using ansi rather than unicode strings and not getting this right. It was also vulnerable to attacks, making csrss crash, when corrupt parameters were sent.

svn path=/trunk/; revision=47027
2010-04-26 01:23:21 +00:00
Timo Kreuzer 89a4d76d9d [STRSAFE]
Add strsafe.h from amd64 branch.

svn path=/trunk/; revision=47026
2010-04-26 00:41:09 +00:00
Cameron Gutman 9bab4055b3 [OSKITTCP]
- Add a sanity check
- Dedicated to Caemyr

svn path=/trunk/; revision=47024
2010-04-25 21:00:04 +00:00
Cameron Gutman fd9406974e [AFD]
- Add some sanity checks

svn path=/trunk/; revision=47023
2010-04-25 20:51:07 +00:00