Commit graph

68709 commits

Author SHA1 Message Date
Thomas Faber 0db63068ac [USER32]
- Avoid a memory leak in User32EnumWindows in case the window count is zero.
CORE-13194

svn path=/trunk/; revision=74497
2017-05-08 08:29:17 +00:00
Thomas Faber ba1fcb6554 [NTOS:IO]
- Use pool tagging

svn path=/trunk/; revision=74496
2017-05-08 06:54:35 +00:00
Hermès Bélusca-Maïto 55bf6ea8ff [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
2017-05-08 00:58:45 +00:00
Hermès Bélusca-Maïto 32b595761c [NTOS]: Code formatting + free the memory in the reverse order from how it was allocated.
svn path=/trunk/; revision=74494
2017-05-08 00:51:44 +00:00
Hermès Bélusca-Maïto 837c766030 [NTOS]: Capture the counted BaseDllName unicode string into a local NULL-terminated buffer before calling wcsrchr on it (actually I think it would be better to create & use a similar function that takes counted strings in input).
Also use 'L' prefix for wide characters and UNICODE_NULL for string terminator.
Patch by Lesan Ilie.
CORE-13208 #resolve

svn path=/trunk/; revision=74493
2017-05-07 18:15:12 +00:00
Hermès Bélusca-Maïto 2b8120a968 [NTOS]: Code formatting changes only.
svn path=/trunk/; revision=74492
2017-05-07 18:12:18 +00:00
Hermès Bélusca-Maïto 0b299f6798 [NTOS]: Fix a potential memory leak.
- If one of the ZwSetValueKey function fails, 'Node->ServiceName.Buffer' is leaked. 
- Also use 'L' prefix for wide characters.
Patch by Lesan Ilie, thanks!
- Use "P(C)WSTR" instead of win32 "LP(C)WSTR" string pointer types (by me).
CORE-13207 #resolve

svn path=/trunk/; revision=74491
2017-05-07 17:50:18 +00:00
Thomas Faber cf595e72fa [NTDLL]
- Implement user-mode version of RtlWalkFrameChain (mostly as a copy of the kernel version). Now RtlCaptureStackBackTrace actually, you know, captures stack back-traces.

svn path=/trunk/; revision=74490
2017-05-06 17:51:26 +00:00
Thomas Faber 8550143bab [KMTESTS:RTL]
- Add a test for RtlWalkFrameChain and RtlCaptureStackBackTrace

svn path=/trunk/; revision=74489
2017-05-06 15:29:56 +00:00
Eric Kohl d4b437e4ee [INTL]
- Get rid of the individual getter funtions. Use GetSelectedComboBoxIndex for all CBS_DROPDOWNLIST comboboxes and GetSelectedComboBoxText for all CBS_DROPDOWN comboboxes.
- Check the relevant settings only!
- Rename SetXxxSettings to GetXxxSettings because it is a getter function.
- Handle the bogus WM_COMMAND/EN_CHANGE message that is sent when the IDC_SECONDYEAR_EDIT edit control is initialized. Controls should NEVER send notifications when they are modified programmatically! :-/

svn path=/trunk/; revision=74488
2017-05-06 14:41:50 +00:00
Eric Kohl 3ac350cfe0 [INTL]
Changed locale options doesn't reload correctly before next reboot.
- Added SetNumberSetting, SetCurrencySetting, SetDateSetting and SetTimeSetting functions to get and check values.
- Don't directly change pGlobalData.
- Post WM_WININICHANGE after all changes have been applied.
Based on a patch by Katayama Hirofumi MZ.
CORE-10170

svn path=/trunk/; revision=74487
2017-05-06 13:43:03 +00:00
Thomas Faber 80aa7fd7f9 [WIN32K:NTGDI]
- Avoid using floating point operations in kernel mode.
CORE-10893

svn path=/trunk/; revision=74486
2017-05-06 12:18:21 +00:00
Thomas Faber 26344e7671 [MMSYS]
- Simplify code by using windowsx.h. Patch by Katayama Hirofumi MZ.
CORE-12903

svn path=/trunk/; revision=74485
2017-05-06 10:14:29 +00:00
Thomas Faber 3dfda10ed9 [MMSYS]
- Make browse dialog title and filter localizable. Based on a patch by Katayama Hirofumi MZ.
CORE-12903

svn path=/trunk/; revision=74484
2017-05-06 09:27:32 +00:00
Thomas Faber 9ef60ad5b0 [MMSYS]
- Pass byte counts to RegQueryValueEx instead of character counts. Based on a patch by Katayama Hirofumi MZ.
CORE-12903

svn path=/trunk/; revision=74483
2017-05-06 08:43:56 +00:00
Thomas Faber 96e7761203 [MMSYS]
Patch by Katayama Hirofumi MZ:
- Use _countof where appropriate
- Prefer sizeof(variable) to sizeof(TYPE)
CORE-12903

svn path=/trunk/; revision=74482
2017-05-06 08:22:50 +00:00
Thomas Faber ef84fa90a8 [COMCTL32]
- Fix heap memory leak in BUTTON_DrawTextCallback
CORE-13190

svn path=/trunk/; revision=74481
2017-05-05 19:23:04 +00:00
Giannis Adamopoulos a6f1faa394 [COMCTL32] Toolbar: Use DrawThemeText when themes are enabled. CORE-12789
svn path=/trunk/; revision=74480
2017-05-05 10:55:12 +00:00
Giannis Adamopoulos 16989d664d [SHELL32] -CMenuDeskBar: Handle WM_NCPAINT and paint the border with the correct color when it has the flat style.
svn path=/trunk/; revision=74479
2017-05-05 09:01:15 +00:00
Thomas Faber 5d5f53ae61 [KERNEL32_APITEST]
- Fix a broken test name. APITests can not have names already used by Wine tests!  ... they should be named after APIs, anyway...

svn path=/trunk/; revision=74478
2017-05-04 16:45:42 +00:00
Hermès Bélusca-Maïto 720092b8e7 [NDK]: Guard the Bitmap API prototypes in a NTOS_MODE_USER, so that a driver that includes both wdm.h and ndk/rtlfuncs.h for whatever reason does not include twice the bitmap API.
This in particular fixes compilation under x64 due to the fact that, in x64, one of these API is declared (force)inline and the compiler complained that this function already had a body.

svn path=/trunk/; revision=74477
2017-05-04 16:12:52 +00:00
Hermès Bélusca-Maïto 00c641a9ec [USBD.SYS]: Exports:
- The three C-decorated exports _USBD_CreateConfigurationRequestEx@8, _USBD_ParseConfigurationDescriptorEx@28 and _USBD_ParseDescriptors@16 are only exported in the i386 version of the driver (not present in x64, checked on WinXP x64).
  This fixes warnings in ReactOS x64 compilation.
- Add (commented out) the remaining exports (without their parameters) that need to be implemented and exported.

svn path=/trunk/; revision=74476
2017-05-04 15:46:09 +00:00
Hermès Bélusca-Maïto 3849c29490 [KERNEL32_APITEST]: Internationalization console tests by Katayama Hirofumi MZ.
Passes on Win2k3 (either are skipped because either Russian or Japanese locales or codepages are absent, or are passed OK), but not on ReactOS yet. They are committed as reference for future work.
CORE-12451

svn path=/trunk/; revision=74475
2017-05-04 15:39:50 +00:00
Giannis Adamopoulos 21c885f66d [BROWSEUI_APITEST] -Add tests for SHExplorerParseCmdLine for CORE-12882.
svn path=/trunk/; revision=74474
2017-05-04 15:15:45 +00:00
Giannis Adamopoulos afa3aa776e [SHELL32_APITEST] -Add some tests for SHParseDisplayName for CORE-12882.
svn path=/trunk/; revision=74473
2017-05-04 15:05:10 +00:00
Hermès Bélusca-Maïto d1760301d4 [CONSOLE.CPL]: Spanish translation update by Javier Fernandez, thanks!
CORE-13187 #resolve

svn path=/trunk/; revision=74472
2017-05-04 14:21:41 +00:00
Hermès Bélusca-Maïto 982c3c6f8d [CONSOLE.CPL]: Fix the console props color buttons (was broken by r74468). Noted by Katayama Hirofumi MZ, thanks!
CORE-13186 #resolve

svn path=/trunk/; revision=74471
2017-05-04 14:18:14 +00:00
Thomas Faber 8faff50ad8 [RAPPS]
- Display download URL in information panel. Patch by Alexander Shaposhnikov.
CORE-12442 #resolve

svn path=/trunk/; revision=74470
2017-05-04 07:09:18 +00:00
Hermès Bélusca-Maïto f13d997b76 [CONSOLE.CPL]: Rewrite the way we deal with console font samples in the console properties dialog:
- Remove the font helper functions that were already moved into concfg/font.c in r74462, and use the latter instead.
- Use a double list for listing the available font sizes for a given face:
  * a ListBox for raster fonts;
  * a ComboBox for TrueType fonts, allowing the user to specify a custom size.
  The raster ListBox is wrapped using the LIST_CTL structure so that we can use
  the bisection functions on it.
- Allow the user to specify TrueType font size either in pixels or in points. Raster font sizes however are always in pixels.
- Try to remember the nearest font size across different selected face changes.
- Try to support custom-sized TrueType fonts (using the ComboBox's edit field). May need more improvements!
- Retrieve the correct character cell height & width size in pixels when selecting a font (especially when it's a TrueType one).
- We now support bold console fonts too, see CORE-13122 (thanks Katayama!).
- Remove the commented-out "temporary code for future reference".
- Use a global cached font "hCurrentFont" that gets initialized when the console properties applet is created,
  so that we now can have a correct font in the screen samples when one directly views e.g. the "Color" tab,
  without going first in the "Font" tab. This current font is of course updated whenever one changes the font settings.

Tested with success on Windows 2003, Windows 7 and on ReactOS.

CORE-13122 CORE-13182 #resolve

svn path=/trunk/; revision=74469
2017-05-03 23:56:35 +00:00
Hermès Bélusca-Maïto 2dfccd0635 [CONSOLE.CPL]: Minor code refactoring (cont.):
- Use 'hDlg' for the dialog window handle variable (instead of hwndDlg), as already done in other parts of the code;
- Use our regular formatting for function prototypes;
- Use explicit unicode functions;

In addition:
- Correctly check for the dialog controls notifications (within WM_COMMAND message);
- Update the current code page when the code page combobox selection changes, but only notify the property sheet of the change when the combobox contents is validated (either the user pressed ENTER in some way, or the combobox lost its focus).

svn path=/trunk/; revision=74468
2017-05-03 23:05:25 +00:00
Giannis Adamopoulos ec320d1e33 [SHELL32] -CMenuBand: Correctly get the setting for flat menus. CORE-8925
svn path=/trunk/; revision=74467
2017-05-03 21:49:38 +00:00
Hermès Bélusca-Maïto 74f6803499 [CONSOLE.CPL]: Minor code refactoring:
- Move the bisection functions into their own source file, and make them a bit more general so that they can be used on other types of list structures than win32 combo-boxes.
- Adjust the code in options.c to reflect those changes.

svn path=/trunk/; revision=74466
2017-05-03 20:35:12 +00:00
Hermès Bélusca-Maïto bc1e2dbb92 [CONSOLE.CPL]: Harmonize most of the resources (sizes of dialog controls for some dialogs), and add some new controls in the font dialog that will be used soon.
To translators: Please check that I haven't broken any translations! :)
CORE-13182

svn path=/trunk/; revision=74465
2017-05-03 20:23:12 +00:00
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