NtOpenThreadTokenEx: Initialize NewToken with NULL, so it doesn't get wrongly dereferenced. Fixes advapi32:security winetest crash.
svn path=/trunk/; revision=46289
- Fix a memory leak of the allocated IO_STATUS_BLOCK
- Don't free unallocated memory
- Send the IRP with the correct MajorFunction
- Use IoBuildAsynchronousFsdRequest instead of IoBuildSynchronousFsdRequest (fixes potiential null pointer access when attempting to set the wait event which is NULL)
- Set the correct stack parameters for the IRPs
svn path=/trunk/; revision=46285
Import x87 asm version of pow() from glibc. Replaces our broken implementation, fixing a bunch of winetests (oleaut32 vartest)
svn path=/trunk/; revision=46283
- Install class installer DLL.
- Register class installer.
- Register class icon. The Device Manager does not recognize it yet.
svn path=/trunk/; revision=46280
- Start implementing IKsAllocator interface
- Retrieve the default format for the input and output pin
- Instantiate the kernel pin when an interface request for IMemInputPin / IKsPropertySet / IKsObject request arrives
- Implement IKsPin::KsCreateSinkPinHandle for the input pin
- Partly implement IKsPin::KsPropagateAcquire for input / output pin
- Fix asserts in IKsControl::KsProperty, IKsControl::KsMethod, IKsControl::KsEvent
- Simplify CInputPin::CheckFormat
- Store the currently used pin medium / interface and connection format
- Implement IAMBufferNegotiation::SuggestAllocatorProperties, IAMBufferNegotiation::GetAllocatorProperties for the output pin
- Pass pin's communication to output pin
- Implement IMediaFilter::Pause, IMediaFilter::Run for CKsProxy
- CKsProxy is now able to deliver signal statistics for BDA devices (app: SageDvbRecorder, OS: WinXP SP3)
svn path=/trunk/; revision=46274
- Use the correct file name for services which have differing service and image names
- Fixes the file name of the display miniports on the SOS screen (VGA.SYS -> VGAMP.SYS and VBE.SYS -> VBEMP.SYS)
svn path=/trunk/; revision=46270
Rewrite Trap exits stubs in raw assembly (2nd try) and remove inline assembly. Bugcheck in KiTrap0DHandler, when the fault was not handled. Replace code patching for sysexit vs iret with a function pointer. Slightly refactor KiSystemServiceHandler/KiFastCallEntryHanlder. Unroll the loop in the systemcall handler and use volatile keyword when reloading TrapFrame and DescriptorTable from the new stack after converting to gui thread to prevent the compiler from optimizing it away (or moving it out of the loop). Add an asm macro KiCallHandler, which expands to call on debug builds to make sure backtraces work as expected and to jmp on release builds for improved performance. Modify KiExitV86Trap to always exit and add DECLSPEC_NORETURN. Use __debugbreak() instead of while(TRUE) on errors in KiExitTrapDebugChecks.
The old code hat 2 issues: one was restoring segments in KiExitV86Trap when they shouldn't be, leading to a bugcheck. And the other was a long hang (5 mintes or more) in 3rd stage on qemu when selecting RosDbg, caused by the KiFastCallExitHandler function pointer being initialized with a pointer to the iret handler. Initializing it in code solved the issue. To figure out why is left as an exercise to the reader.
svn path=/trunk/; revision=46247
When adding new glyph cache entry convert the glyph bitmap with proper alignment to comply with the new code in EngCreateBitmap and remove the corresponding hack from SURFMEM_bCreateDib.
[FREETYPE]
When doing 1BPP -> 8BPP conversion set all 8 bits not only the LSB. (Freetype devs were notified of this issue)
See issue #5244 for more details.
svn path=/trunk/; revision=46246
- Remove the duplicate OSL
- Disable more debug prints
- ROS with ACPI has been booted successfully on VirtualBox (with additions), QEMU, and VMware
svn path=/trunk/; revision=46242
- Remove the VMware hack
- ACPI works on all tested VMs now (QEMU, VirtualBox, and VMware)
- Just a resource code issue remains and prevents us from enabling ACPI by default
svn path=/trunk/; revision=46241