reactos.git
2 years ago[WIN32K] -Simplify the parameters passed to GetFontPenalty and FindBestFontFromList...
Giannis Adamopoulos [Mon, 22 May 2017 18:17:49 +0000 (18:17 +0000)]
[WIN32K] -Simplify the parameters passed to GetFontPenalty and FindBestFontFromList. Make SubstituteFontRecurse update a LOGFONT and get rid of some needless allocations.

svn path=/trunk/; revision=74630

2 years ago[CMLIB]
Thomas Faber [Mon, 22 May 2017 13:48:11 +0000 (13:48 +0000)]
[CMLIB]
- Fix an assert that only works by chance

svn path=/trunk/; revision=74628

2 years ago[NTOS:MM]
Thomas Faber [Mon, 22 May 2017 13:37:44 +0000 (13:37 +0000)]
[NTOS:MM]
- In MmDumpArmPfnDatabase, actually print all usage buckets to provide a complete and verifiable view of the database

svn path=/trunk/; revision=74627

2 years ago[NTOS:MM]
Thomas Faber [Mon, 22 May 2017 13:30:44 +0000 (13:30 +0000)]
[NTOS:MM]
- Make PFN tracing work... somewhat

svn path=/trunk/; revision=74626

2 years ago[CALC]
Thomas Faber [Mon, 22 May 2017 13:13:45 +0000 (13:13 +0000)]
[CALC]
- Remove Czech koruna from currency conversions... their exchange rate is not a constant
- While here, add new Euro currencies, and improve the accuracy of some conversion rates

svn path=/trunk/; revision=74625

2 years ago[HHPCOMP]
Thomas Faber [Mon, 22 May 2017 12:50:08 +0000 (12:50 +0000)]
[HHPCOMP]
- Avoid casting pointers to 'unsigned long'

svn path=/trunk/; revision=74624

2 years ago[HAL]
Thomas Faber [Mon, 22 May 2017 12:20:31 +0000 (12:20 +0000)]
[HAL]
- Correctly prepare the I/O port map for V86 mode by making HalpSavedIoMap actually point to it instead of to the parent structure. Fixes boot with video BIOS code that relies on I/O ports FF00 through FFFF.
CORE-13306 #resolve

svn path=/trunk/; revision=74623

2 years ago[WIN32K] -Reduce the ridiculous number of string allocations done by FindBestFontFrom...
Giannis Adamopoulos [Sun, 21 May 2017 16:47:07 +0000 (16:47 +0000)]
[WIN32K] -Reduce the ridiculous number of string allocations done by FindBestFontFromList and GetFontPenalty. CORE-13274

svn path=/trunk/; revision=74613

2 years ago[WIN32SS] Improve IntGetFontLocalizedName by less strict matching on language id...
Mark Jansen [Sun, 21 May 2017 12:24:57 +0000 (12:24 +0000)]
[WIN32SS] Improve IntGetFontLocalizedName by less strict matching on language id's. Patch by Katayama Hirofumi MZ. CORE-13239 #comment Thanks!

svn path=/trunk/; revision=74612

2 years ago[KERNEL32] Format the stack trace generated on an unhandled exception so that log2lin...
Mark Jansen [Sun, 21 May 2017 11:31:56 +0000 (11:31 +0000)]
[KERNEL32] Format the stack trace generated on an unhandled exception so that log2lines can parse it. CORE-13232 #resolve

svn path=/trunk/; revision=74611

2 years ago[SHIMS] Add IgnoreDebugOutput shim CORE-10369
Mark Jansen [Sat, 20 May 2017 20:22:25 +0000 (20:22 +0000)]
[SHIMS] Add IgnoreDebugOutput shim CORE-10369

svn path=/trunk/; revision=74610

2 years ago[BOOTDATA] Create an empty HKLM\...\AppCompatFlags\Layers key to silence logging.
Mark Jansen [Sat, 20 May 2017 20:06:46 +0000 (20:06 +0000)]
[BOOTDATA] Create an empty HKLM\...\AppCompatFlags\Layers key to silence logging.

svn path=/trunk/; revision=74609

2 years ago[SLAYER] Remove the shell extension. CORE-13111 #resolve
Mark Jansen [Sat, 20 May 2017 19:58:04 +0000 (19:58 +0000)]
[SLAYER] Remove the shell extension. CORE-13111 #resolve

svn path=/trunk/; revision=74608

2 years ago[WIN32SS] Reduce the amount of calls to IntGetFontLocalizedName, since this was ident...
Mark Jansen [Sat, 20 May 2017 18:59:00 +0000 (18:59 +0000)]
[WIN32SS] Reduce the amount of calls to IntGetFontLocalizedName, since this was identified as a source of recent slower drawing. CORE-13274
Thanks to Thomas, Giannis and Joachim.

svn path=/trunk/; revision=74607

2 years ago[INF]
Eric Kohl [Sat, 20 May 2017 13:46:48 +0000 (13:46 +0000)]
[INF]
Make code page and language group names translatable.
CORE-11885

svn path=/trunk/; revision=74606

2 years ago[WIN32K:NTGDI]
Thomas Faber [Sat, 20 May 2017 12:11:08 +0000 (12:11 +0000)]
[WIN32K:NTGDI]
- Simplify list walk in FindBestFontFromList

svn path=/trunk/; revision=74605

2 years ago[INF]
Eric Kohl [Sat, 20 May 2017 09:53:15 +0000 (09:53 +0000)]
[INF]
Make language (locale) names translatable.
CORE-11885

svn path=/trunk/; revision=74604

2 years ago[HAL]
Thomas Faber [Fri, 19 May 2017 21:37:50 +0000 (21:37 +0000)]
[HAL]
- Fix a broken DPRINT

svn path=/trunk/; revision=74603

2 years ago[GDI32_APITEST] Improve GetFontResourceInfoW tests. Patch by Katayama Hirofumi MZ...
Mark Jansen [Fri, 19 May 2017 20:26:49 +0000 (20:26 +0000)]
[GDI32_APITEST] Improve GetFontResourceInfoW tests. Patch by Katayama Hirofumi MZ. ROSTESTS-269 #resolve #comment Thanks!

svn path=/trunk/; revision=74602

2 years ago[APPHELP] Initial implementation of ApphelpCheckRunAppEx. CORE-10368
Mark Jansen [Fri, 19 May 2017 20:13:08 +0000 (20:13 +0000)]
[APPHELP] Initial implementation of ApphelpCheckRunAppEx. CORE-10368

svn path=/trunk/; revision=74601

2 years ago[NTDLL:LDR]
Thomas Faber [Fri, 19 May 2017 19:11:14 +0000 (19:11 +0000)]
[NTDLL:LDR]
- Fix logic error in LdrpInit that caused us to busy-wait instead of sleep. This makes LibreOffice start up in a few seconds instead of sitting around at 100% CPU for a minute or two.
CORE-13268 #resolve

svn path=/trunk/; revision=74600

2 years ago[RTL]
Thomas Faber [Fri, 19 May 2017 18:22:46 +0000 (18:22 +0000)]
[RTL]
- Do not change RTL_HANDLE_TABLE::CommittedHandles when committing a new page of handle entries. This value must always point to the beginning of the allocation, to correctly track the entire committed range. Fixes LibreOffice Writer (and ntdll_apitest) crash.
CORE-13271 #resolve

svn path=/trunk/; revision=74599

2 years ago[NTDLL_APITEST]
Thomas Faber [Fri, 19 May 2017 18:05:12 +0000 (18:05 +0000)]
[NTDLL_APITEST]
- Add a test for RTL handle tables
CORE-13271

svn path=/trunk/; revision=74598

2 years ago[SCSIPORT]: Fixes:
Hermès Bélusca-Maïto [Fri, 19 May 2017 16:14:10 +0000 (16:14 +0000)]
[SCSIPORT]: Fixes:
- In SpiScanAdapter(), after an SCSI INQUIRY command has succeeded and we are setting up a LUN extension structure,
  cache in its InquiryData member the inquiry data retrieved from the INQUIRY command (alternatively we might just cache
  a pointer to a valid "LunInfo" since the latter are also cached elsewhere).
- This allows SpiBuildDeviceMap(), which is called just after SpiScanAdapter(), to correctly report in the registry SCSI tree
  the correct Identifier and DeviceType values for the enumerated logical units.
- Use ExFreePoolWithTag in SpiScanAdapter().

svn path=/trunk/; revision=74597

2 years ago[SCSIPORT]: Code formatting only.
Hermès Bélusca-Maïto [Fri, 19 May 2017 16:08:40 +0000 (16:08 +0000)]
[SCSIPORT]: Code formatting only.

svn path=/trunk/; revision=74596

2 years ago[SCSIPORT]: Fixes + documentation:
Hermès Bélusca-Maïto [Fri, 19 May 2017 15:02:02 +0000 (15:02 +0000)]
[SCSIPORT]: Fixes + documentation:
- In SpiSendInquiry():
  * use ExFreePoolWithTag;
  * if IoBuildDeviceIoControlRequest() fails, exit correctly the loop so that the allocated buffers are cleaned up;
- In SpiBuildDeviceMap():
  * support new peripheral type names, as documented in the links in the comments;
  * fix the "CommunicationsPeripheral" name (communication'S') as documented, and as done in windows' scsiport driver.

svn path=/trunk/; revision=74595

2 years ago[SCSIPORT]: Code formatting in the functions I'm going to touch next (in addition...
Hermès Bélusca-Maïto [Fri, 19 May 2017 14:49:23 +0000 (14:49 +0000)]
[SCSIPORT]: Code formatting in the functions I'm going to touch next (in addition, add few "continue;" inside some loops so that I can reduce the indent level of code blocks).

svn path=/trunk/; revision=74594

2 years ago[UXTHEME] -Use and RTL handle table for HTHEME handles. In this way we can ensure...
Giannis Adamopoulos [Fri, 19 May 2017 11:02:44 +0000 (11:02 +0000)]
[UXTHEME] -Use and RTL handle table for HTHEME handles. In this way we can ensure that a value we take is valid even if it is non NULL. We can also detect leaks.

svn path=/trunk/; revision=74593

2 years ago[UXTHEME] Greatly reduce the number of times we open the theme data for the non clien...
Giannis Adamopoulos [Fri, 19 May 2017 10:01:50 +0000 (10:01 +0000)]
[UXTHEME] Greatly reduce the number of times we open the theme data for the non client area.
- Implement OTD_NONCLIENT for OpenThemeDataEx and OpenThemeDataFromFile.
- Open the WINDOW or the SCROLLBAR theme classes only when needed. Use OpenThemeDataEx instead of the internal MSSTYLES_OpenThemeClass. Cache the open theme in the WND_DATA for later use.

svn path=/trunk/; revision=74592

2 years agoForgot to add the cmake changes
Ged Murphy [Fri, 19 May 2017 09:46:41 +0000 (09:46 +0000)]
Forgot to add the cmake changes

svn path=/trunk/; revision=74591

2 years ago[FLTMGR]
Ged Murphy [Fri, 19 May 2017 09:42:00 +0000 (09:42 +0000)]
[FLTMGR]
- Add a rather messy header that I've been slowly building as I'm starting to understand the internals.
- Mostly taken from the MS PDBs and info gained from OSR and Alex Carp's blog. (https://fsfilters.blogspot.co.uk)

svn path=/trunk/; revision=74590

2 years ago[FLTMGR]
Ged Murphy [Fri, 19 May 2017 09:37:38 +0000 (09:37 +0000)]
[FLTMGR]
- Implement FltCreateCommunicationPort, FltCloseCommunicationPort, FltCloseClientPort, and stub FltSendMessage
- Add two new object types for the server port and client ports
- Implement object type callbacks for closing and deleting these new ports
- Create the comms object and create the symbolic link (FltMgrMsg) to allow usermode to open a handle to the comms layer (aka FilterConnectCommunicationPort)
- Although untested, the comms layer objects should be mostly setup, and we should be able to open a connection from usermode.

svn path=/trunk/; revision=74589

2 years ago[FLTMGR}
Ged Murphy [Fri, 19 May 2017 09:15:35 +0000 (09:15 +0000)]
[FLTMGR}
- Implement FltAcquirePushLockExclusive, FltAcquirePushLockShared and FltReleasePushLock. Lifted from ntos' internal pushlock routines.
- Implement FltpObjectPointerReference and partially implement FltpObjectPointerDerference

svn path=/trunk/; revision=74588

2 years ago[UXTHEME] -Rename WND_CONTEXT to WND_DATA to avoid confusion with the DRAW_CONTEXT...
Giannis Adamopoulos [Fri, 19 May 2017 08:45:49 +0000 (08:45 +0000)]
[UXTHEME] -Rename WND_CONTEXT to WND_DATA to avoid confusion with the DRAW_CONTEXT. The WND_DATA is information valid throughout the life of a window and DRAW_CONTEXT is information throughout a draw operation in the non client area of the window.

svn path=/trunk/; revision=74587

2 years ago[FLTMGR]
Ged Murphy [Fri, 19 May 2017 08:21:41 +0000 (08:21 +0000)]
[FLTMGR]
- Add the missing IOCTLs that were added to fltlib

svn path=/trunk/; revision=74586

2 years ago[NTOS]: Use the correct access rights for ZwOpenDirectoryObject call.
Hermès Bélusca-Maïto [Thu, 18 May 2017 23:46:44 +0000 (23:46 +0000)]
[NTOS]: Use the correct access rights for ZwOpenDirectoryObject call.

svn path=/trunk/; revision=74585

2 years ago[NTOS]: Close an opened handle after usage.
Hermès Bélusca-Maïto [Thu, 18 May 2017 23:32:00 +0000 (23:32 +0000)]
[NTOS]: Close an opened handle after usage.

svn path=/trunk/; revision=74584

2 years ago[FLTLIB]
Ged Murphy [Thu, 18 May 2017 22:06:49 +0000 (22:06 +0000)]
[FLTLIB]
- Implement FilterConnectCommunicationPort
- Add the remaining IOCTLs fltlib sends to the fltmgr

svn path=/trunk/; revision=74583

2 years ago[INTL]
Eric Kohl [Thu, 18 May 2017 21:56:24 +0000 (21:56 +0000)]
[INTL]
- Add custom draw function for the codepages listview.
- User gray text color for codepages that cannot be uninstalled.
CORE-13242

svn path=/trunk/; revision=74582

2 years ago[VIDEOPRT]
Thomas Faber [Thu, 18 May 2017 21:29:24 +0000 (21:29 +0000)]
[VIDEOPRT]
- Guard Ke386CallBios calls against concurrent execution.
CORE-13214

svn path=/trunk/; revision=74581

2 years ago[UXTHEME] -Remove a debug print that was never meant to be committed.
Giannis Adamopoulos [Thu, 18 May 2017 17:53:33 +0000 (17:53 +0000)]
[UXTHEME] -Remove a debug print that was never meant to be committed.

svn path=/trunk/; revision=74580

2 years ago[UXTHEME] -Apply some suggestions by Thomas.
Giannis Adamopoulos [Thu, 18 May 2017 17:15:22 +0000 (17:15 +0000)]
[UXTHEME] -Apply some suggestions by Thomas.

svn path=/trunk/; revision=74579

2 years ago[MSTSC] Addendum to r74577. CORE-13263
Peter Hater [Thu, 18 May 2017 08:57:26 +0000 (08:57 +0000)]
[MSTSC] Addendum to r74577. CORE-13263

svn path=/trunk/; revision=74578

2 years ago[MSTSC] Fix BSOD when we can't acquire context from CryptoAPI. CORE-13263 #resolve
Peter Hater [Thu, 18 May 2017 08:47:30 +0000 (08:47 +0000)]
[MSTSC] Fix BSOD when we can't acquire context from CryptoAPI. CORE-13263 #resolve

svn path=/trunk/; revision=74577

2 years ago[BOOTLIB]
Thomas Faber [Wed, 17 May 2017 16:06:24 +0000 (16:06 +0000)]
[BOOTLIB]
- Avoid uninitialized ComputeHash variable in BlImgLoadImageWithProgress2
CORE-13265 #resolve

svn path=/trunk/; revision=74571

2 years ago[MSTSC] Fix parsing of settings. Patch by Stas'M. Thanks. CORE-13223
Peter Hater [Wed, 17 May 2017 10:53:54 +0000 (10:53 +0000)]
[MSTSC] Fix parsing of settings. Patch by Stas'M. Thanks. CORE-13223

svn path=/trunk/; revision=74568

2 years ago[MSTSC] Send computer name as client name when available. Patch by Stas'M. Thanks...
Peter Hater [Wed, 17 May 2017 10:47:39 +0000 (10:47 +0000)]
[MSTSC] Send computer name as client name when available. Patch by Stas'M. Thanks. CORE-13237

svn path=/trunk/; revision=74567

2 years ago[FORMAT]: Use a better variable type for the media flag.
Hermès Bélusca-Maïto [Tue, 16 May 2017 20:17:18 +0000 (20:17 +0000)]
[FORMAT]: Use a better variable type for the media flag.

svn path=/trunk/; revision=74566

2 years ago[SHELL32]: Fix a FIXME: Recognize the media type for formatting, by calling GetDriveT...
Hermès Bélusca-Maïto [Tue, 16 May 2017 20:16:43 +0000 (20:16 +0000)]
[SHELL32]: Fix a FIXME: Recognize the media type for formatting, by calling GetDriveTypeW(). Based on what format.com does too.

svn path=/trunk/; revision=74565

2 years ago[MSTSC] Fix unwanted change
Peter Hater [Tue, 16 May 2017 18:01:31 +0000 (18:01 +0000)]
[MSTSC] Fix unwanted change

svn path=/trunk/; revision=74564

2 years ago[MSTSC] Fix adding module name and IP to logon packet. Patch by Stas'M. Minor modific...
Peter Hater [Tue, 16 May 2017 17:56:51 +0000 (17:56 +0000)]
[MSTSC] Fix adding module name and IP to logon packet. Patch by Stas'M. Minor modification by me. Thanks. CORE-13234

svn path=/trunk/; revision=74563

2 years agoAddendum to r74559: specify 'void' function aka. doesn't take any parameter. In C...
Hermès Bélusca-Maïto [Tue, 16 May 2017 17:45:52 +0000 (17:45 +0000)]
Addendum to r74559: specify 'void' function aka. doesn't take any parameter. In C, a function whose prototype is () means "take an arbitrary number of args".

svn path=/trunk/; revision=74562

2 years ago[MSTSC] Enable taking settings folder using SHGetFolderLocation instead of using...
Peter Hater [Tue, 16 May 2017 17:37:48 +0000 (17:37 +0000)]
[MSTSC] Enable taking settings folder using SHGetFolderLocation instead of using "c:\". Patch by Stas'M. Thanks CORE-13225

svn path=/trunk/; revision=74561

2 years ago[MSTSC] Fix image corruption in 24bpp mode CORE-13224
Peter Hater [Tue, 16 May 2017 17:32:19 +0000 (17:32 +0000)]
[MSTSC] Fix image corruption in 24bpp mode CORE-13224

svn path=/trunk/; revision=74560

2 years ago[ACPI] Implement creating volatile registry keys for ACPI tables CORE-12942
Peter Hater [Tue, 16 May 2017 17:26:12 +0000 (17:26 +0000)]
[ACPI] Implement creating volatile registry keys for ACPI tables CORE-12942

svn path=/trunk/; revision=74559

2 years ago[MSTSC] Switch most MSTSC from internal "ssl" functions to CryptoAPI and implement...
Peter Hater [Tue, 16 May 2017 17:20:56 +0000 (17:20 +0000)]
[MSTSC] Switch most MSTSC from internal "ssl" functions to CryptoAPI and implement/enable certificate functions CORE-13259

svn path=/trunk/; revision=74558

2 years ago[MSTSC] Fix build
Peter Hater [Tue, 16 May 2017 17:03:20 +0000 (17:03 +0000)]
[MSTSC] Fix build

svn path=/trunk/; revision=74557

2 years ago[MSTSC] Bring MSTSC closer to latest rdesktop (1.83) CORE-13258
Peter Hater [Tue, 16 May 2017 16:37:29 +0000 (16:37 +0000)]
[MSTSC] Bring MSTSC closer to latest rdesktop (1.83) CORE-13258

svn path=/trunk/; revision=74556

2 years ago[INTL]
Eric Kohl [Mon, 15 May 2017 20:02:48 +0000 (20:02 +0000)]
[INTL]
Advanced page: Show code pages again.
- Use SetupFindFirstLine and SetupFindNextLine to enumerate all code pages.
- Use heap memory functions instead of global memory functions.
- Get rid of TCHAR.
- Rename LPCPAGE to PCPAGE.
- Hack: Do not fail if EnumSystemCodePages returns FALSE.

svn path=/trunk/; revision=74555

2 years ago[UXTHEME] -ThemeDrawCaptionText: Try to avoid a heap allocation when getting the...
Giannis Adamopoulos [Mon, 15 May 2017 16:05:14 +0000 (16:05 +0000)]
[UXTHEME] -ThemeDrawCaptionText: Try to avoid a heap allocation when getting the window caption.

svn path=/trunk/; revision=74552

2 years ago[UXTHEME] -Simplify ThemeDrawCaptionText.
Giannis Adamopoulos [Mon, 15 May 2017 15:34:43 +0000 (15:34 +0000)]
[UXTHEME] -Simplify ThemeDrawCaptionText.

svn path=/trunk/; revision=74551

2 years agoBL Library now works 100% in paging, protected mode. A picture is worth a thousand...
Alex Ionescu [Mon, 15 May 2017 01:38:49 +0000 (01:38 +0000)]
BL Library now works 100% in paging, protected mode. A picture is worth a thousand commits: i.imgur.com/Zx2nQ6x.jpg
[BOOTLIB]: Add support for protocol open/close/lookup while paging and protected mode is enabled.
[BOOTLIB]: Implement support for dozens of UEFI functions while under protected mode.
[BOOTLIB]: Fix bugs in existing UEFI functions which were switching to _protected_ mode instead of _real mode_ before making the UEFI call.
[BOOTLIB]: Free dynamic descriptor in MmMdFreeDescriptor.
[BOOTLIB]: Implement BlHtDelete.
[BOOTLIB]: Implement re-initialize-all path in DsppInitialize.
[BOOTLIB]: Fix small bug in BlDisplayInvalidateOemBitmap
[BOOTLIB]: Fix bigger bug in BlDisplayGetOemBitmap :)

svn path=/trunk/; revision=74546

2 years agoVirtual memory works baby! Virtual Heap at 0x80000000 fully enabled. Next up, EFI...
Alex Ionescu [Sun, 14 May 2017 16:07:21 +0000 (16:07 +0000)]
Virtual memory works baby! Virtual Heap at 0x80000000 fully enabled. Next up, EFI Protocols with Paging Enabled.
[BOOTLIB]: Fix dumb bug in BlMmIsTranslationEnabled which would always return FALSE.
[BOOTLIB]: Fix dumber bug in MmDefInitializeTranslation which was freeing the page directories and self-map pages even in the success path. Causing us to zero out paging structures...
[BOOTLIB]: Cleanup and extend MmMdDbgDumpList for internal use, and add MmMdListPointerToName as another debug function.
[BOOTLIB]: Add a few more checkpoints in unimplemented paths.

svn path=/trunk/; revision=74545

2 years ago[MUP]
Pierre Schweitzer [Sun, 14 May 2017 10:15:43 +0000 (10:15 +0000)]
[MUP]
Split MUP into two parts; MUP on one side, DFS on the second side.
This will allow using headers in other parts

svn path=/trunk/; revision=74544

2 years ago[NtGDI]
James Tabor [Sun, 14 May 2017 01:00:27 +0000 (01:00 +0000)]
[NtGDI]
- Implement internal functions for setting and retrieving DC origin. Related to CORE-13110.
- Code fix ups.

svn path=/trunk/; revision=74543

2 years ago[BOOTLIB]: Implement MmMdTruncateDescriptors
Alex Ionescu [Sun, 14 May 2017 00:39:30 +0000 (00:39 +0000)]
[BOOTLIB]: Implement MmMdTruncateDescriptors
[BOOTLIB]: Implement MmPaTruncateMemory and call it during paging initialization to remove > 4GB memory.c
[BOOTLIB]: Implement BlpMmInitializeConstraints if those BCD options are used.

svn path=/trunk/; revision=74542

2 years ago[BOOTLIB]: Complete implementation of MmMdRemoveRegionFromMdlEx
Alex Ionescu [Sun, 14 May 2017 00:11:48 +0000 (00:11 +0000)]
[BOOTLIB]: Complete implementation of MmMdRemoveRegionFromMdlEx

svn path=/trunk/; revision=74541

2 years ago[MKHIVE]
Thomas Faber [Sat, 13 May 2017 22:47:59 +0000 (22:47 +0000)]
[MKHIVE]
- Fail when something goes wrong instead of pretending everything's peachy.
CORE-13241 #resolve

svn path=/trunk/; revision=74540

2 years ago[NTOSKRNL] Improve S-List-Fault detection in KiTrap0EHandler to handle usermode fault...
Timo Kreuzer [Sat, 13 May 2017 20:07:39 +0000 (20:07 +0000)]
[NTOSKRNL] Improve S-List-Fault detection in KiTrap0EHandler to handle usermode faults as well.

svn path=/trunk/; revision=74539

2 years ago[CMAKE]
Thomas Faber [Sat, 13 May 2017 19:54:51 +0000 (19:54 +0000)]
[CMAKE]
- Only call mkhive once, as it always generates all 6 binary hives (and if you don't give it all inf files, some of the hives will end up empty).
- Remove no longer needed dependency of efisys on bcd_hive
CORE-13241

svn path=/trunk/; revision=74537

2 years ago[BOOTLIB]: Separate free and zero memory, and code vs data runtime data, as newer...
Alex Ionescu [Sat, 13 May 2017 19:32:26 +0000 (19:32 +0000)]
[BOOTLIB]: Separate free and zero memory, and code vs data runtime data, as newer bootlibs do.
[BOOTLIB]: Fix bugs in MmMdpHasPrecedence and cleanup.
[BOOTLIB]: Fix bug in MmMdFreeDescriptor.
[BOOTLIB]: Cleanup MmMdpSaveCurrentListPointer.
[BOOTLIB]: Fix bug in MmMdpCoalesceDescriptor.
[BOOTLIB]: Fix multiple bugs in MmMdAddDescriptorToList, and cleanup.

svn path=/trunk/; revision=74536

2 years ago[APPHELP][SHIMLIB] Forward some events to loaded shims. CORE-11329
Mark Jansen [Sat, 13 May 2017 18:49:27 +0000 (18:49 +0000)]
[APPHELP][SHIMLIB] Forward some events to loaded shims. CORE-11329

svn path=/trunk/; revision=74535

2 years ago[NDK][RTL] Make the Name argument in RtlQueryEnvironmentVariable_U const.
Mark Jansen [Sat, 13 May 2017 17:26:59 +0000 (17:26 +0000)]
[NDK][RTL] Make the Name argument in RtlQueryEnvironmentVariable_U const.

svn path=/trunk/; revision=74534

2 years ago[UXTHEME] -Fix the tab background pattern hack when the background pattern is smaller...
Giannis Adamopoulos [Fri, 12 May 2017 12:44:49 +0000 (12:44 +0000)]
[UXTHEME] -Fix the tab background pattern hack when the background pattern is smaller than the window that we are trying to paint.  CORE-13147, CORE-13192.
There is still a bug where the pattern doesn't change after a theme change.

svn path=/trunk/; revision=74522

2 years ago[SHELL32] Add stub for SHEnumerateUnreadMailAccountsW, needed by Thunderbird. Found...
Mark Jansen [Thu, 11 May 2017 20:20:47 +0000 (20:20 +0000)]
[SHELL32] Add stub for SHEnumerateUnreadMailAccountsW, needed by Thunderbird. Found by Joachim Henze. CORE-13229

svn path=/trunk/; revision=74521

2 years agoFully working x86 paging support!
Alex Ionescu [Wed, 10 May 2017 14:38:34 +0000 (14:38 +0000)]
Fully working x86 paging support!
[BOOTLIB]: Fix a critical bug in BlpArchSwitchContext which was not switching to Firmware mode once paging was enabled.
[BOOTLIB]: Fix a critical bug in OslMain which was incorrectly setting BL_LIBRARY_INITIALIZATION_COMPLETED instead of BL_LIBRARY_FLAG_REINITIALIZE_ALL and causing all sorts of failure paths.
[BOOTLIB]: MmDefInitializeTranslation now turns on paging.
[BOOTLIB]: Implement TrpGenerateMappingTracker and BlpArchEnableTranslation
[BOOTLIB]: BlMmMapPhysicalAddressEx now works with paging enabled, and correctly finds mapped memory to use from the virtual MDLs.
[BOOTLIB]: MmPapAllocateRegionFromMdl now handles virtual allocations from MmMdlMappedUnallocated.
[BOOTLIB]: MmPapAllocatePagesInRange now handles BlMemoryKernelRange (KSEG0) allocations.
[BOOTLIB]: MmMdFindSatisfyingRegion now handles virtual descriptors as well, and handles alignment better.

svn path=/trunk/; revision=74519

2 years ago[PRINTING]
Colin Finck [Wed, 10 May 2017 13:03:08 +0000 (13:03 +0000)]
[PRINTING]
SetDefaultPrinterW needs to fail with ERROR_INVALID_PRINTER_NAME if the input parameter is invalid. Also add a test for that.

svn path=/trunk/; revision=74518

2 years ago[SHELL32_APITEST] -Add tests for Control_RunDLLW.
Giannis Adamopoulos [Wed, 10 May 2017 10:06:02 +0000 (10:06 +0000)]
[SHELL32_APITEST] -Add tests for Control_RunDLLW.

svn path=/trunk/; revision=74517

2 years ago[USETUP]: Fix the primary/extended partitions creation checks introduced in r63392...
Hermès Bélusca-Maïto [Tue, 9 May 2017 22:09:06 +0000 (22:09 +0000)]
[USETUP]: Fix the primary/extended partitions creation checks introduced in r63392 : indeed this is if there are *already* 4 (primary) partitions in the table that we cannot create new primary/extended partitions.
Otherwise with the old (broken) checks, we allowed creating more than 4 partitions, and then we overflowed over memory and corrupted the partition list structures.

svn path=/trunk/; revision=74516

2 years ago[FREELDR]: Report the correct number of BIOS (hard) disk drives detected, that is...
Hermès Bélusca-Maïto [Tue, 9 May 2017 19:33:46 +0000 (19:33 +0000)]
[FREELDR]: Report the correct number of BIOS (hard) disk drives detected, that is, without any possible extra boot drive that went enumerated afterwards.
This fixes the list of disks enumerated in HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\0\DiskController\0\DiskPeripheral\
and we now behave in this regards similarly to Windows 2003 & co.
I thank Lesan Ilie for reporting & testing, and Serge Gautherie and Peter Hater for reviewing.
This fixes a bug introduced in commit r59079.
CORE-13131

svn path=/trunk/; revision=74515

2 years ago[SDK] Add enum for PEB.AppCompatFlagsUser
Mark Jansen [Tue, 9 May 2017 18:15:22 +0000 (18:15 +0000)]
[SDK] Add enum for PEB.AppCompatFlagsUser

svn path=/trunk/; revision=74514

2 years ago[PRINTING]
Colin Finck [Tue, 9 May 2017 15:44:42 +0000 (15:44 +0000)]
[PRINTING]
- Implement GetDefaultPrinterA/W and SetDefaultPrinterA/W in winspool.drv. Also add tests for these functions.
- Set our "Dummy Printer on LPT1" as the default printer in the user registry.
- Return meaningful values for DeviceNotSelectedTimeout and TransmissionRetryTimeout in PRINTER_INFO_5 in localspl.

The Print dialog now preselects "Dummy Printer on LPT1" in all applications.
One more task done from the list at https://reactos.org/wiki/Printing :)

svn path=/trunk/; revision=74513

2 years ago[USETUP]: Improve the bootsector validity check performed in IsThereAValidBootSector:
Hermès Bélusca-Maïto [Tue, 9 May 2017 15:31:53 +0000 (15:31 +0000)]
[USETUP]: Improve the bootsector validity check performed in IsThereAValidBootSector:
- Check for the first 3 bytes (and not 4) of the bootsector to not be zero (that's our criterium for a "valid instruction"). Therefore, a bootsector starting with "00 00 00 xx" (with xx the first byte of a volume identifier) is detected as invalid (because the BIOS won't be able to run it anyways) and therefore, needs to be overwritten.
- Check that its last 2 bytes are the valid 0xAA55 signature.
These improvements were suggested by Serge Gautherie and Peter Hater.
CORE-4870 CORE-12672 CORE-13188
- Move a DPRINT1 around.

svn path=/trunk/; revision=74512

2 years ago[DESK.CPL] -Addendum to 74506 which was a bit rushed. Make it possible to apply a...
Giannis Adamopoulos [Tue, 9 May 2017 08:13:49 +0000 (08:13 +0000)]
[DESK.CPL] -Addendum to 74506 which was a bit rushed. Make it possible to apply a theme that was opened by double click. Also add the active theme in the list of themes if it was not enumerated in the themes directory.

svn path=/trunk/; revision=74511

2 years ago[SHELL32]
Thomas Faber [Tue, 9 May 2017 07:45:30 +0000 (07:45 +0000)]
[SHELL32]
- Fix AddCommasW

svn path=/trunk/; revision=74510

2 years ago[DISK]: Small fixes:
Hermès Bélusca-Maïto [Mon, 8 May 2017 21:34:07 +0000 (21:34 +0000)]
[DISK]: Small fixes:
- Check for malformed disk identifier, which must be at least 9 WCHARs long (as done by disk_new);
- Prevent possible memory leaks (missing ExFreePool's) + closing registry key.
Investigated by Lesan Ilie during tests; as part of CORE-13131.
- Make one of our hacks more readable (by me).
(We also note that this driver uses the ExAllocate/FreePool functions in the old-school way).

svn path=/trunk/; revision=74509

2 years agoMore build fixes.
Giannis Adamopoulos [Mon, 8 May 2017 19:08:30 +0000 (19:08 +0000)]
More build fixes.

svn path=/trunk/; revision=74508

2 years agoFix build.
Giannis Adamopoulos [Mon, 8 May 2017 19:02:49 +0000 (19:02 +0000)]
Fix build.

svn path=/trunk/; revision=74507

2 years ago[DESK.CPL] -Implement opening msstyles files.
Giannis Adamopoulos [Mon, 8 May 2017 18:45:35 +0000 (18:45 +0000)]
[DESK.CPL] -Implement opening msstyles files.

svn path=/trunk/; revision=74506

2 years ago[EXPLORER] Some style suggestions by Mark Jansen. Thanks
Robert Naumann [Mon, 8 May 2017 17:46:55 +0000 (17:46 +0000)]
[EXPLORER] Some style suggestions by Mark Jansen. Thanks

svn path=/trunk/; revision=74505

2 years ago[CONSOLE.CPL]: Fix the console window preview:
Hermès Bélusca-Maïto [Mon, 8 May 2017 17:33:33 +0000 (17:33 +0000)]
[CONSOLE.CPL]: Fix the console window preview:
- turn it into a custom control;
- supports dynamic preview area depending on the actual current monitor screen resolution;
  (note that on ReactOS, the WM_DISPLAYCHANGE is not correctly sent, see CORE-13212, therefore this functionality won't show up yet)
- supports correct rescaling of the console preview drawn in the preview area;
- supports dependence of the console preview with respect to the chosen font character dimensions.
The code is there, it may be a little bit improved in the future.
CORE-13196 #resolve

Other additions:
- Add a few space between the console preview text window border and the text sample;
- PaintText and PaintStaticControls do not need to return anything.

svn path=/trunk/; revision=74504

2 years ago[CONSOLE.CPL]: Minor modifications:
Hermès Bélusca-Maïto [Mon, 8 May 2017 17:24:57 +0000 (17:24 +0000)]
[CONSOLE.CPL]: Minor modifications:
- Use "hDlg" (as done in the rest of the code) instead of "hwndDlg";
- Refresh the console window preview whenever a dimension or a position was changed.

svn path=/trunk/; revision=74503

2 years ago[CONSOLE.CPL]: Simplify the color selection code by factorizing common parts.
Hermès Bélusca-Maïto [Mon, 8 May 2017 17:19:07 +0000 (17:19 +0000)]
[CONSOLE.CPL]: Simplify the color selection code by factorizing common parts.

svn path=/trunk/; revision=74502

2 years ago[EXPLORER] Addendum to r74500. Those 2 commits belong to CORE-11498
Robert Naumann [Mon, 8 May 2017 15:50:07 +0000 (15:50 +0000)]
[EXPLORER] Addendum to r74500. Those 2 commits belong to CORE-11498

svn path=/trunk/; revision=74501

2 years ago[EXPLORER]
Robert Naumann [Mon, 8 May 2017 15:27:33 +0000 (15:27 +0000)]
[EXPLORER]
- Load and save "Lock Taskbar", "Hide inactive icons", and "Group similar taskbar buttons". Verified on Win2k3 via "Nirsoft RegFromApp".
- use a loader function for registry values.
- save the "show seconds" setting together with the other explorer settings instead of a ROS specific key.
- Add some documentation comments.

svn path=/trunk/; revision=74500

2 years ago[WIN32SS] Fix font names not including style info (Bold etc). Patch by Katayama Hirof...
Mark Jansen [Mon, 8 May 2017 14:53:30 +0000 (14:53 +0000)]
[WIN32SS] Fix font names not including style info (Bold etc). Patch by Katayama Hirofumi MZ. CORE-12179 #comment Thanks!

svn path=/trunk/; revision=74499

2 years ago[SHELL32]
Thomas Faber [Mon, 8 May 2017 10:59:27 +0000 (10:59 +0000)]
[SHELL32]
- Avoid leaking the list items on destruction of CEnumIDListBase
CORE-13194

svn path=/trunk/; revision=74498

2 years ago[USER32]
Thomas Faber [Mon, 8 May 2017 08:29:17 +0000 (08:29 +0000)]
[USER32]
- Avoid a memory leak in User32EnumWindows in case the window count is zero.
CORE-13194

svn path=/trunk/; revision=74497

2 years ago[NTOS:IO]
Thomas Faber [Mon, 8 May 2017 06:54:35 +0000 (06:54 +0000)]
[NTOS:IO]
- Use pool tagging

svn path=/trunk/; revision=74496

2 years ago[NTOS]: Addendums to r74491 and r74493:
Hermès Bélusca-Maïto [Mon, 8 May 2017 00:58:45 +0000 (00:58 +0000)]
[NTOS]: Addendums to r74491 and r74493:
- Free the FullServiceName buffer if PnpRootCreateDevice failed (erroneously committed in r74494, see pnpmgr.c line 1080);
- No need to close InstanceHandle if the IopCreateDeviceKeyPath call failed, since in this case the registry handle wasn't opened. CORE-13207
- Don't assert on Buffer allocation but return a proper failure code in case of failure. CORE-13208
These are suggestions from Serge Gautherie + Lesan Ilie.

- Add a forgotten ZwClose call in the success code path of IopCreateDeviceKeyPath in IopQueryDeviceCapabilities (by me).

svn path=/trunk/; revision=74495