- Add and install a manifest for comctl32 version 5.82.
- Since our comctl32 tries to imitate both version 5 and version 6, register its classes twice, once while having the version 6 manifest active and once when having the version 5 active.
- Register the themed versions of the built in controls while having the version 6 manifest active (and register them as global classes). This breaks theming of built in controls until versioned classes get implemented.
- Do not try to subclass the dialog class. This is incorrect and can lead to problems like in CORE-8534, CORE-12727, CORE-8387. This removes the background texture of the themed tabs which will be implemented in the future in uxtheme using api hooks.
This breaks a great deal of theming but keep in mind that it is in the middle of a transition to have them implemented correctly without the terrible side effects (broken ansi conversion, not always using themes for built in controls. However comctl32 is now ready for versioned classes to be enabled.
CORE-12285
svn path=/trunk/; revision=73803
[BOOTLIB]: Correctly bias access to GDT/IDT registers by 2 bytes since this is a 48-bit instruction. The loaded GDT/IDT was previously invalid and causing random GPFs.
[BOOTLIB]: Fix EfiStall in protected mode. It was previously not stalling.
[BOOTLIB]: Fix calculation in MmMapPhysicalAddress
[BOOTLIB]: Fix missing goto in MmSelectMappingAddress which broke the function in real mode.
[BOOTLIB]: Fix incorrect ranges in MmSelectMappingAddress.
[BOOTLIB]: Fix incorrect offset calculation in MmSelectMappingAddress.
Now hitting (as expected), unimplemented virtual code path in BlMmMapPhysicalAddressEx.
svn path=/trunk/; revision=73801
[BOOTLIB]: Implement MmSelectMappingAddress and fix its prototype.
[BOOTLIB]: Implement MmPapPageAllocatorExtend and fix MmPapAllocatePagesInRange to use it.
We are trying to choose VA 0 for PA 0x8000 and currently fail due to conflicts. TBD.
svn path=/trunk/; revision=73797
PNP_GetDeviceList and PNP_GetDeviceListSize:
- Do not return CR_CALL_NOT_IMPLEMENTED by default.
- pulLength is counted in characters, not in bytes!
- Use the correct Relations value for PowerRelations.
[NDK]
Add the PowerRelations value to a comment.
[DEVMGR]
CM_Get_Device_ID_List_Size_ExW and CM_Get_Device_ID_List_ExW count the buffer length in characters, not in bytes!
svn path=/trunk/; revision=73796
In order to make VfatVerify() work on something else than floppies, ask for change count when issuing IOCTL_DISK_CHECK_VERIFY
svn path=/trunk/; revision=73793
- Fix a possible null pointer dereference. CID 731448
- Check string length before copying into a fixed size buffer. CID 515207
- Bail out of _CmdWndProc if keyPath is null. CID 1102164
- Use strsafe functions. CID 1102477
svn path=/trunk/; revision=73776
- Patch by Dmitry Timoshkov : Fix groupbox rectangle calculation in the button's WM_SETTEXT handler. BUTTON_CalcLabelRect should use the button font. Otherwise WM_SETTEXT handler gets wrong rectangle to erase an old text.
- Fixes CORE-12464.
svn path=/trunk/; revision=73768
- Attempt to speed up loading and displaying logs in EnumEventsThread:
- Rewriting the code fix an infinite loop that could happen under low memory conditions (this potentially speeds things up quite a lot).
- Remove ListView subclassing - sorry Hermès but not only it keeps constantly redrawing under Windows but also adds too much overhead.
- Don't read the event log records one by one but in chunks of roughly 0x7ffff bytes (maximum size allowed).
- Use poor man's "caching" of the event user name (optimizing/caching rest of the stuff in the loop didn't yield any significant speed up).
Result: Loading ~40000 records under Win7 went from 4.5 minutes to 65 seconds.
svn path=/trunk/; revision=73749