Commit graph

68626 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 259a8515b0 [CONSRV]: Improvements for console font support (part 2):
- Use the font functions from the concfg library (see r74462) to create a new console font & retrieve its metrics, inspired by the suggestions from Katayama Hirofumi MZ in CORE-12451 and CORE-13122;
- Use string-safe functions to copy the font names into the fixed-size buffers;
- Use explicit UNICODE calls to GetObject and CreateFontIndirect.
Related to CORE-13182.

svn path=/trunk/; revision=74464
2017-05-03 20:13:23 +00:00
Hermès Bélusca-Maïto c1934a3a17 [CONSRV]: Use string-safe functions to copy the font names into the fixed-size buffers.
svn path=/trunk/; revision=74463
2017-05-03 19:57:28 +00:00
Hermès Bélusca-Maïto 8928ef6200 [CONCFG]: Diverse improvements/additions for the console configuration library. CORE-13182
- Use string-safe functions to copy the font names into the fixed-size buffers;
- Modify some default settings;
- Add a set of console font manipulation functions, to be used later by both the console applet console.cpl and by CONSRV.
  Some of these functions come from r74365 with minor improvements (see CORE-12451 too), others are based from a patch
  by Katayama Hirofumi MZ from CORE-13122, and the rest are needed for an upcoming commit for console.cpl.
- Add PCH support in concfg.
- Minor code formatting: Use our regular formatting for function prototypes.

svn path=/trunk/; revision=74462
2017-05-03 19:47:18 +00:00
Colin Finck 02ae08f9cb [ISOHYBRID]
Patch all our ISOs (bootcd, bootcdregtest, livecd, hybridcd) with isohybrid in order to make them bootable from HDDs or any kind of USB drives.
The added MBR at the beginning of each ISO doesn't cause any harm for normal CD booting anymore after my patch in r74460.
There is also no need for the dedicated isohybrid targets anymore.

Our ISOMBR master boot record now successfully loads our ISOBOOT boot sector. ISOBOOT loads FreeLdr and indicates that we're booting from HDD, so that FreeLdr can successfully load the kernel.
We then bugcheck in the kernel with either 0x0000007B (INACCESSIBLE_BOOT_DEVICE) using bootcd or 0x0000006B (PROCESS1_INITIALIZATION_FAILED) using livecd.
Testcase is:
  qemu-system-i386 -m 512 -hda bootcd_or_livecd.iso

Needs more investigation, but these are separate bugs and I consider CORE-12648 fixed.

svn path=/trunk/; revision=74461
2017-05-03 15:32:33 +00:00
Colin Finck 11cbbbb746 [FREELDR]
Set BootPartition (DH) to 0xFF in isoboot.S when booting from CD.
Then check for that 0xFF value in FreeLdr to unambiguously detect CD booting instead of using BIOS functions (which don't work reliably on broken BIOSes) or checking for an MBR (which doesn't work on hybrid ISOs).

CORE-12692

svn path=/trunk/; revision=74460
2017-05-03 14:53:57 +00:00
Giannis Adamopoulos 895f97e0a2 [UXTHEME] -Use GdiDrawStream in UXTHEME_DrawImageGlyph and UXTHEME_DrawImageBackground.
svn path=/trunk/; revision=74457
2017-05-03 11:13:23 +00:00
Giannis Adamopoulos a5cc32eb36 [GDI32] -Add a public undocgdi.h file to keep the definitions for undocumented exports. For now it only contains GdiDrawStream.
svn path=/trunk/; revision=74452
2017-05-03 10:55:54 +00:00
Pierre Schweitzer 335b3f2e4e [NTOSKNRL]
Misc fixes in NtQueryDirectoryFile():
- Don't leak auxbuffer
- Don't allow two completion routines

svn path=/trunk/; revision=74451
2017-05-02 21:32:20 +00:00
Thomas Faber e6825b17d8 [FASTFAT]
- Add support for FILE_DELETE_ON_CLOSE
CORE-6931 #resolve

svn path=/trunk/; revision=74450
2017-05-02 19:33:14 +00:00
Thomas Faber 1d1755e8f5 [NTOS:MM]
- Avoid a file object reference leak in MmCreateSection.
CORE-6931

svn path=/trunk/; revision=74449
2017-05-02 17:18:37 +00:00
Giannis Adamopoulos 4c8ca6f0a4 [SHELL32] -CDefView: Hide the drag image at drop.
svn path=/trunk/; revision=74448
2017-05-02 14:01:07 +00:00
Thomas Faber 8403189f6c [NTOS:MM]
- When mapping a view of the physical memory section, don't check for BaseAddress/SectionOffset alignment. Instead, prevent user mode mappings of views beyond the highest physical page. Fixes flakiness in kmtest:MmSection
CORE-13113 #resolve

svn path=/trunk/; revision=74447
2017-05-02 11:11:39 +00:00
Thomas Faber b89db46b1f [KMTESTS:MM]
Add some more tests for physical memory sections:
- Show that any alignment for SectionOffset/ViewSize is allowed. It will get automatically fixed up to page alignment
- Show that kernel mode can map views beyond the highest physical page, but user mode cannot
CORE-13113

svn path=/trunk/; revision=74446
2017-05-02 09:02:10 +00:00
Thomas Faber 2ec8bd97ab [NTOS:IO]
- Print the error status and message in IoRaiseInformationalHardError
CORE-13174 #resolve

svn path=/trunk/; revision=74445
2017-05-02 08:18:30 +00:00
Pierre Schweitzer dd512f56a9 [CMD]
Fix and simplify implementation of "IF EXIST":
- Don't make any difference between wildcard search and normal search
- This fixes handling DOS devices search (ie, IF EXIST C:\ReactOS\NUL now works)
- This fixes handling pagefile.sys without requiring specifing rights
- Also fix handling directory search, terminated with a \

CORE-11784

svn path=/trunk/; revision=74444
2017-05-01 21:14:38 +00:00
Giannis Adamopoulos 3e2f6b9d2c [COMCTL32] Fix use of uninitialized variable.
svn path=/trunk/; revision=74443
2017-05-01 18:56:03 +00:00
Eric Kohl a8f63ddb13 [INTL]
Added initialization of IDC_CURRENCYGRPNUM.
Patch by Katayama Hirofumi MZ.
CORE-10170

svn path=/trunk/; revision=74442
2017-05-01 17:05:31 +00:00
Giannis Adamopoulos cb488db9b7 [BROWSEUI] Don't leak the image lists created by CAddressBand and CToolsBand.
svn path=/trunk/; revision=74441
2017-05-01 13:43:22 +00:00
Giannis Adamopoulos 4bc905e4fd [COMCTL32] -ImageList: Don't leak the DC returned by saturate_image.
svn path=/trunk/; revision=74440
2017-05-01 13:40:57 +00:00
Eric Kohl 3b40688aba [TRANSLATION]
Japanese NLS info.
Patch by Katayama Hirofumi MZ.
CORE-13164

svn path=/trunk/; revision=74439
2017-05-01 13:09:31 +00:00
Giannis Adamopoulos 35fecb20bc [COMCTL32] -Rebar: Fix a region handle leak when themes are enabled.
svn path=/trunk/; revision=74438
2017-05-01 12:44:24 +00:00
Giannis Adamopoulos f23a970e84 [EXPLORER] CTrayClockWnd: Fix a leak of font handles. CORE-13155
svn path=/trunk/; revision=74437
2017-05-01 09:35:03 +00:00
Thomas Faber 3dfa093f63 [NTOS:IO]
- Fix some extremely broken casts

svn path=/trunk/; revision=74436
2017-04-30 19:24:53 +00:00
Thomas Faber adae348b32 [WIN32K]
- Check for null members when cleaning up DCs and brushes. Fixes crashes in some failure cases when running out of GDI handles.
CORE-13155

svn path=/trunk/; revision=74435
2017-04-30 18:41:56 +00:00
Eric Kohl a526c712b5 [INTL]
- Get rid of alloca, malloc and free.
- Always check the return values of HeapAlloc.
- Rename fUserLocaleChanged to bUserLocaleChanged and fGeoIdChanged to bGeoIdChanged.
- Use WCHAR instead of TCHAR.
- Fix indentation and coding style.
- Remove setupreg.c because it is an unused copy of misc.c.

svn path=/trunk/; revision=74434
2017-04-30 15:39:41 +00:00
Colin Finck 30d5e8f413 [LOCALSPL] [SPOOLSV] [WINSPOOL]
- Refactor the code returning PRINTER_INFO_* yet another time to support both EnumPrinters and GetPrinter calls.
- Implement support for PRINTER_INFO_1 through PRINTER_INFO_9 as well as the mostly unknown PRINTER_INFO_STRESS (level 0) structure and return as much information as we can.
- Implement GetPrinterW / LocalGetPrinter.

The Printers Shell folder in Explorer now shows our "Dummy Printer on LPT1" and we pass all 291 winspool:EnumPrinters API tests :)

svn path=/trunk/; revision=74433
2017-04-30 15:12:53 +00:00
Pierre Schweitzer f10b1d9976 [KERNEL32_APITEST]
- Refactor a bit tests, to split more logically tests
- Fix a bug in tests
- Add new tests for MountMgr showing our storage stack doesn't behave as expected

svn path=/trunk/; revision=74432
2017-04-30 11:43:04 +00:00
Eric Kohl f62dd8e937 [BOOTDATA]
Make service display names and descriptions translatable.
CORE-11855

svn path=/trunk/; revision=74431
2017-04-29 17:17:10 +00:00
Pierre Schweitzer 3d271a9794 [CDFS]
Fix returned data handling on directory enumeration.
Patch by Giannis Adamopoulos

CORE-13143

svn path=/trunk/; revision=74430
2017-04-28 19:32:44 +00:00
Giannis Adamopoulos 996f952333 [COMCTL32] -Add v5 and v6 manifests in livecd.
svn path=/trunk/; revision=74429
2017-04-28 17:11:46 +00:00
James Tabor a1290edbe7 [NtGDI]
- Use internal function for setting brush origin. Related to CORE-13110.

svn path=/trunk/; revision=74422
2017-04-27 19:20:09 +00:00
James Tabor 4535174660 [NtGDI]
- Update DC attributes while internally setting brush origin. Related to CORE-13110.

svn path=/trunk/; revision=74421
2017-04-27 17:53:03 +00:00
Mark Jansen 06850c5772 [WIN32SS] Fix returning an uninitialized variable. Patch by Victor Martinez Calvo. CID 1341417, CORE-11027 #comment Thanks!
svn path=/trunk/; revision=74420
2017-04-27 15:37:08 +00:00
Thomas Faber b9b174c0fa [GDI32]
- Fix last error value returned from GdiSelectPen for invalid DCs. Fixes the last test failure in gdi32:gdiobj. Patch by Katayama Hirofumi MZ.
CORE-13132 #resolve

svn path=/trunk/; revision=74419
2017-04-27 08:59:29 +00:00
Thomas Faber 27142f2af0 [EVENTVWR]
- Avoid two cases of uninitialized variable use in GetEventUserName. Based on a patch by Víctor Martínez Calvo. CID 1401250
CORE-12798 #resolve

svn path=/trunk/; revision=74418
2017-04-27 00:23:04 +00:00
Thomas Faber b206e0eb2a [EVENTVWR]
- Make user name caching actually work
CORE-12798

svn path=/trunk/; revision=74417
2017-04-27 00:17:08 +00:00
Hermès Bélusca-Maïto 01a6b1023f [CMD]: Improvements for the CHCP command.
- Display the informative CP-change message on stdout, using the *output* code page (and not the input CP);
- Correctly update the local codepage cache;
- Display the informative CP-change message when the CP change succeeded;
- Add source comments + informative TODO for what remains to be done.

svn path=/trunk/; revision=74416
2017-04-26 22:29:07 +00:00
Eric Kohl f25d0ce422 [BOOTDATA]
Make the timezone names translatable.
CORE-11855

svn path=/trunk/; revision=74415
2017-04-26 21:21:02 +00:00
Hermès Bélusca-Maïto 053db1af86 [KERNEL32]: Add/update localized codepage display names.
- Slightly update the description of CP 28599;
- Add descriptions for CPs 28600, 28603, 28604 and 28606;
- Add CP 856 "OEM - Hebrew PC" (which differs from OEM Hebrew CP 862).
Note that while we also have codepages 424, 878 and 1006, I don't add their description because:
- CP 424 is actually CP 20424 "IBM EBCDIC - Hebrew" on Windows (documented in the resource files);
- CP 878 is actually CP 20866 "Russian - KOI8" on Windows (documented in the resource files);
- CP 1006 seems to be "IBM Arabic" according to Wine, but I don't know its corresponding number on Windows.

svn path=/trunk/; revision=74414
2017-04-26 20:31:54 +00:00
Hermès Bélusca-Maïto 4f80d030e6 [KERNEL32]: Little improvements/fixes for GetCPInfoExW and GetGeoInfoW:
- Rework GetLocalisedText helper such that it looks more like LoadStringW. Also, if the string is not found (either because there is no associated string table, or because its resource length is zero), then return zero.
  Otherwise we return the correct number of characters copied into the user buffer, not counting the NULL terminator.
  This fixes the blank strings showing in the list of codepage user-friendly names in the console properties dialog.
- Simplify the code of NLS_GetGeoFriendlyName: we can directly use the user-provided buffer to retrieve the string.
Addendum to r65157.
CORE-13130 #resolve

svn path=/trunk/; revision=74413
2017-04-26 17:38:57 +00:00
Hermès Bélusca-Maïto 46f402da90 [KERNEL32]: Add the Brunei in the list of localized countries.
Translators, please localize the name!

svn path=/trunk/; revision=74412
2017-04-26 17:10:51 +00:00
Giannis Adamopoulos 79aeba8939 [UXTHEME] -Fix some resource leaks.
svn path=/trunk/; revision=74411
2017-04-26 13:55:19 +00:00
Hermès Bélusca-Maïto 403ef47169 [COMMAND]: Disable COMMAND.COM debugging messages by default.
Disable again this #define if you want to get the dbg messages back.
CORE-10710

svn path=/trunk/; revision=74410
2017-04-26 13:41:43 +00:00
Thomas Faber 701f62c3ac [USBOHCI]
- Not building before committing is also a hack
CORE-9224

svn path=/trunk/; revision=74409
2017-04-26 10:54:34 +00:00
Thomas Faber 1bb6977402 [USBEHCI][USBOHCI]
- Touch the virtual address of DMA buffers before calling MmGetPhysicalAddress on them. This ensures page directories are correctly set up for the current process context, and fixes random DMA operation failures ("MM:MmGetPhysicalAddressFailed"). This is not a hack -- using MmGetPhysicalAddress for DMA in the first place is.
CORE-9224 #resolve

svn path=/trunk/; revision=74408
2017-04-26 10:53:32 +00:00
Giannis Adamopoulos 43e13595cf [UXTHEME] -Implement the tab background texture. NOTE: A hack was used to go around the problem that SetBrushOrgEx doesn't really work. CORE-12978
svn path=/trunk/; revision=74407
2017-04-26 09:28:35 +00:00
Giannis Adamopoulos e9846d6f9c [COMCTL32]
- Button, Trakbar: Send WM_CTLCOLORBTN or WM_CTLCOLORSTATIC and use their return value to paint the control despite the fact that DrawThemeParentBackground was called as well.
Part of the fix for CORE-12978

svn path=/trunk/; revision=74406
2017-04-25 11:19:22 +00:00
Hermès Bélusca-Maïto 83e0dd0595 [CONSOLE.CPL]: Simplify some parts of font.c code.
- Use a helper function "AddFontToList" to add font names into the font list;
- Use string-safe functions where needed.

svn path=/trunk/; revision=74405
2017-04-24 17:01:07 +00:00
Thomas Faber 384affe098 [WIN32K:ENG]
- In PDEVOBJ_vRefreshModeList, restore the current mode pointer, ppdev->pdmwDev, to a valid value.
CORE-13097 #resolve

svn path=/trunk/; revision=74404
2017-04-24 16:28:04 +00:00
Thomas Faber e395d953b3 [USER32]
Fix heap corruption in EnumDisplaySettingsExA/W:
- Do not overwrite the user-provided buffer size in dmDriverExtra
- Fix broken pointer arithmetic
CORE-13097

svn path=/trunk/; revision=74403
2017-04-24 15:04:00 +00:00