- Use _alloca instead of non-standard alloca
- Use _TCHAR instead of non-standard TCHAR
- Use _off_t instead of deprecated off_t
- Use _O_BINARY instead of O_BINARY
* [MKISOFS] Fix Clang check for macOS platforms
On macOS, CMAKE_C_COMPILER_ID is "AppleClang". While certainly Clang,
this does not match the exact string "Clang" that is being checked for,
and as a result the warning flags guarded thereby are not passed to the
compiler. With this change CMake will recognize both Clang and AppleClang.
* Update sdk/tools/mkisofs/CMakeLists.txt
This prevents MSVC from reordering the exports in a way that doesn't match our spec file. Also improve the algorithm to apply ordinals, by starting with the first specified ordinal, possibly reserving ordinals for anything declared without an ordinal before.
- Support loading protocols like XP
- Support most of the relevant EditFlags
- Support reading/writing the AlwaysShowExt and BrowserFlags properties
- Loads the list much faster with optimized code and delaying the large icon and description string
- Reduce the number of magic buffer sizes by replacing them with defines that are in the ballpark of being correct
- Implemented column sorting
- Removed custom icon extraction code
- Removed IDS_FILE_EXT_TYPE string because it must be the same as IDS_ANY_FILE
- Don't touch verb keys that are not edited to retain the original REG type
- Don't clobber unchanged %1 icon location when editing a type
CORE-19756
CORE-19724
sdk/lib/cmlib/cmcheck.c: Print the HCELL_INDEX indices in hexadecimal.
------------------
sdk/lib/cmlib/cmcheck.c:321:60: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'ULONG' {aka 'unsigned int'} [-Wformat=]
and at lines 341, 357, 374, 554, 579, 733, 760, 801, 984, 1003, 1458,
1476, 1521, 1551, 1670
sdk/lib/cmlib/cmcheck.c:1251:65: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'HCELL_INDEX' {aka 'unsigned int'} [-Wformat=]
and at lines 1282, 1303, 1551
sdk/lib/cmlib/cmcheck.c:1326:79: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'LONG' {aka 'int'} [-Wformat=]
sdk/lib/cmlib/cmcheck.c:1684:76: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'CM_CHECK_REGISTRY_STATUS' {aka 'unsigned int'} [-Wformat=]
and at line 1711
------------------
sdk/lib/cmlib/cmheal.c:223:108: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'ULONG' {aka 'unsigned int'} [-Wformat=]
and at lines 240, 319, 335
sdk/lib/cmlib/cmheal.c:480:79: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'int' [-Wformat=]
------------------
sdk/lib/cmlib/hiveinit.c:976:62: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'ULONG' {aka 'unsigned int'} [-Wformat=]
and at lines 988, 1492
CORE-19724
sdk/tools/cabman/dfp.cxx:1136:36: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
1136 | sprintf(InfLine, "%s=%s", GetFileName(SrcName).c_str(), DstName);
| ^
sdk/tools/cabman/dfp.cxx:1136:20: note: 'sprintf' output 2 or more bytes (assuming 4097) into a destination of size 4096
* [MSIEXEC] Sync msiexec to wine-9.8
* [WINESYNC] msi: Disable FS redirection for temporary file in cabinet_copy_file().
wine commit id a58c6251870dfb7d214464e709bbbc9ca649b900 by Paul Gofman <pgofman@codeweavers.com>
* [WINESYNC] msi/tests: Correct a couple of failure messages in test_msirecord.
wine commit id 2fde0a3f5c233b0ea1637f409998ce4ee85d28a7 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Use the wcsdup function instead of reimplementing it.
wine commit id 7cc7a6defc08d4de7574b7a75d574c3ab1f32db8 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Use _O_* constants from fcntl.h instead of redefining them.
wine commit id b07c95e79cdf6ae26c5170daa481ad160e0ce76a by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Remove wrappers around CRT memory allocation functions.
wine commit id d920aa81ad0c4618c27ebd7e9863618e988328e0 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Initialize all members of WINTRUST_DATA.
The pSignatureSettings field was not unitilized so it got a random value from
the stack causing a later crash when it was dereferenced in Wintrust
(SoftPubloadSignature).
wine commit id 904bedb3e96bc68101652e151db102532399abe8 by Philip K. Gisslow <ripxorip@gmail.com>
* [WINESYNC] msi: Fix memory leak on realloc failure in create_diff_row_query (cppcheck).
wine commit id 3e231d0f36a56ce991c7edbb6ae7845094e8417e by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Fix memory leak on realloc failure in msi_get_window_text (cppcheck).
wine commit id 6c1dd0f2c5669e084eb1f84571c38761a97c0970 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Fix memory leak on realloc failure in search_directory (cppcheck).
wine commit id d394df4a30feb685927908fce2887bf5496b5d66 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] ntdll: Default to Windows 10.
wine commit id 69154f0329aec4fb64886a0689da198b5323dcde by Hans Leidekker <hans@codeweavers.com>
* [MSI] Fix build
* [WINESYNC] Update winesync file
* [WINESYNC] msi/tests: Avoid test failures when running with insufficient rights.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51040
wine commit id 79ec3d9fb8551e84e9ff71dcf18861430246278a by Hans Leidekker <hans@codeweavers.com>
* [WINESYNC] msi: Install and patch global assemblies in InstallFinalize.
Installing global assemblies requires assembly caches to be initialized and
this is no longer the case after the PE conversion (builtin fusion no longer
loads if the dll is not present on disk).
The next patch changes msi to perform late initialization of the assembly
caches so that native fusion can be loaded once it's installed by .NET
installers. However, there's no guarantee that all necessary files and
registry keys are installed before the InstallFiles and PatchFiles actions
are executed. Therefore this patch moves the parts of these actions handling
global assemblies to InstallFinalize.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51345
wine commit id 2c450fd6215c0da4685143f97ece8b6db0f54a0b by Hans Leidekker <hans@codeweavers.com>
* [WINESYNC] msi: Perform late initialization of the assembly caches.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51345
wine commit id d9d700f3328f00ec419571df0e02cef208fa1e7b by Hans Leidekker <hans@codeweavers.com>
* [WINESYNC] msi: Remove msi_ prefix from static functions.
wine commit id 3611398b7575177b91e8162a84ebca977c50c2f5 by Hans Leidekker <hans@codeweavers.com>
* [WINESYNC] msi: Get rid of unnecessary typedefs.
wine commit id 258012742512a4072265fcc47826c52319bd37ab by Hans Leidekker <hans@codeweavers.com>
* [WINESYNC] msi: Handle memory allocation failure in get_link_file (cppcheck).
wine commit id 687c4f5c8dc65def6fc066d5d802d7448db70d7f by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Annotate memory allocation functions with __WINE_(DEALLOC|MALLOC).
wine commit id 9df04bfdb03a3017f532e70a047ee83290dbc257 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi/tests: Fix the ok() formats so they match the size of their arguments.
wine commit id b6fb1b8983af7644b78bb0ba5fb9d18a1f0822f1 by Francois Gouget <fgouget@codeweavers.com>
* [WINESYNC] msi/tests: Ok_() takes printf-style arguments.
This lets the compiler check that the format and argument sizes match.
wine commit id a80b183af74194a06af3281ee272590a7134b7f1 by Francois Gouget <fgouget@codeweavers.com>
* [WINESYNC] msi: Return ERROR_OUTOFMEMORY if calloc fails in TransformView_Create (scan-build).
Instead of ERROR_SUCCESS.
wine commit id daa20d9d636057d7009ff3652a8577b423d23fcf by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Make TransformView_Create static.
wine commit id 1da5618cbac1214082bfb897dc81804d14fc6e9e by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Fix memory leak in ready_media (scan-build).
base_url was never freed, and can simply be enlarged instead of copying
it to a new buffer.
wine commit id c39f785b34692ee994b2449cc17a96815517e9bf by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Fix memory leak on error path in MSI_ProcessMessage (scan-build).
wine commit id d06b3fd5274b056c720e2fb42eb189052d99404d by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Release record instead of free.
../dlls/msi/dialog.c:4476:11: warning: attempt to call free on non-heap object 'hdr' [-Wfree-nonheap-object]
free( &rec->hdr );
^
wine commit id 7b3690dd7399cd64123554c8a6fc7e35dcbebbe1 by Daniel Lehman <dlehman25@gmail.com>
* [WINESYNC] include: Remove redundant __WINE_USE_MSVCRT checks.
wine commit id 93630ce14ebf16333fda8481b5ede6f587eb32ca by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] msi: Fix memory leak on error path in MSI_OpenPackageW (scan-build).
wine commit id 4db2ffa60e16e06b4f6ef89fcc4c73229f4446b1 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Fix double free on error paths in TransformView_Create (scan-build).
If TransformView_Create returns an error, it should not return a pointer
that table_load_transform will try to free.
wine commit id 0653409e0631582d89edaab0ac516994710dae1a by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Fix memory leaks in HANDLE_CustomType23 (scan-build).
wine commit id 993f4d48d23477e70e92256890c77687a1c4ba08 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Reject shorter/longer lines in MsiDatabaseImportA.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
wine commit id e1ddc58a259d80f16bf1e62f23428775e1b070a0 by David Kahurani <k.kahurani@gmail.com>
* [WINESYNC] msi: Convert newlines to alternate representation when exporting.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54532
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
wine commit id 60e4f8a261ae9044aafa9c4eec2a3f2aec6481b5 by David Kahurani <k.kahurani@gmail.com>
* [WINESYNC] msi: Remove DECLSPEC_HIDDEN usage.
wine commit id 51049c95a242f1553562a442142e813e37cee233 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
* [MSI] remove DECLSPEC_HIDDEN
* [WINESYNC] msi: Fully initialize the control structure in dialog_line_control().
Fixes: 76606eaea034c51a73190aac92e75d8b20e82164
Fixes: 174b7b51ac9e57c6cfa8f48e62bbf468ae3b1f24
wine commit id 735584076efafc29673e0c9418a64343634f9aa5 by Jinoh Kang <jinoh.kang.kr@gmail.com>
* [WINESYNC] msi: Make insertion order of line controls consistent with other controls.
Fixes: 2c5bd49297f79d9941a256d8ec61e0eb2bf9bf9c
wine commit id 3eceda2f2a77754f0bf93ea33018e8ef49e82669 by Jinoh Kang <jinoh.kang.kr@gmail.com>
* [WINESYNC] msi: Don't open code dialog_add_control() in dialog_line_control().
Commit b1cc87cb656 ("msi: The line control has a height of exactly 2
device units.", 2007-12-16) open-coded the body of
(msi_)dialog_add_control() inside dialog_line_control() modulo the
height override.
Except the fixed height, line controls have nothing special compared to
other controls. Thus, there is little merit in open-coding it.
Also, dialog_line_control() has bit-rotted over time; it already missed
a few changes that were done to any other controls.
Fix this by just using dialog_add_control(). Also, add a special case
logic just for line controls.
wine commit id 1fca47b724b3835ac0267f58c5b3486fc222fc71 by Jinoh Kang <jinoh.kang.kr@gmail.com>
* [WINESYNC] msi: Use nameless unions/structs.
wine commit id 8de0a9dc740d3ed1e3cf9460852db7e609122f3b by Alexandre Julliard <julliard@winehq.org>
* [MSI] disable nameless structs
* [WINESYNC] msi/tests: Use nameless unions/structs.
wine commit id 490aee03e45222aa9d7e3e7fd6ff80064dc3778d by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] makedep: Use #pragma makedep testdll for TESTDLL resources.
wine commit id 81da9ff0f8dea4932a3afdc4c447c1c9242bb596 by Rémi Bernon <rbernon@codeweavers.com>
* [WINESYNC] msi: Use CreateFileW() for handling path from cabinet_open() instead.
wine commit id 085e95cd5eceb36c3e21cb7d42adab5a6af38a38 by Jactry Zeng <jzeng@codeweavers.com>
* [WINESYNC] msiexec: Use CRT allocation functions.
wine commit id 0f44b3bdcb3d91701a9a8ef1ad07f3e88c08a666 by Alex Henrie <alexhenrie24@gmail.com>
* [WINESYNC] msi: Remove DECLSPEC_HIDDEN usage.
wine commit id 91e81083458374706bbace11114f4ad5e473ac07 by Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
* [WINESYNC] msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
Avoids casting to enum pointer in msi_locate_product call.
wine commit id 2daa8c9f95b35983c885f5f7efe9e1b48e91f679 by Jacek Caban <jacek@codeweavers.com>
* [WINESYNC] msi/tests: Initialize pathkey in test_installprops.
It could be used uninitialized on early no access return.
wine commit id 93668319dd63add97036fbb79b5745c699117313 by Jacek Caban <jacek@codeweavers.com>
* [WINESYNC] regsvr32: Use message boxes by default for output.
regsvr32 is in GUI subsystem and shouldn't interact with console.
Keeping unix I/O output in silent mode.
Removing -c option as not existing in native.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
wine commit id ac8da35b87005e45947b8164a4132f3bbb4ec2cc by Eric Pouech <epouech@codeweavers.com>
* [MSI]: Reduce diff
* [WINESYNC] msiexec: No longer use console/file output APIs.
Regular GUI apps don't.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
wine commit id e048f71ecbb103ae7c1876092cb8244b24a73cb7 by Eric Pouech <epouech@codeweavers.com>
* [WINESYNC] msi: Fix a memory leak (Coverity).
wine commit id 4afca1787febb012d0cdd2c007dd32beba35178d by Zhiyi Zhang <zzhang@codeweavers.com>
* [WINESYNC] msi: Don't write past end of string when selecting parent directory.
wine commit id bbce5d014db7f023b133d6d09e6846e027586f7d by Fabian Maurer <dark.shadow4@web.de>
* [WINESYNC] msi: Avoid leaking stream on DB update.
MSI_RecordGetIStream adds a reference to the stream. This
reference should be negated as we are done setting the stream.
Signed-off-by: David Kahurani <k.kahurani@gmail.com>
wine commit id 386dbe1059ba08485696760c267ef06dbed95bad by David Kahurani <k.kahurani@gmail.com>
* [WINESYNC] msi/tests: Expand costing tests.
wine commit id 674efeb1f7445935cf4f49dd1285727055664ab9 by Zebediah Figura <zfigura@codeweavers.com>
* [WINESYNC] msi: Round costs up to 4096 bytes instead of clamping.
wine commit id 9725a2286acdb791de316295d9bcb11411a3fd56 by Zebediah Figura <zfigura@codeweavers.com>
* [WINESYNC] msi: Store component cost in 512-byte units.
This avoids overflow when component costs exceed 4 GB.
wine commit id d7bbe884ef29215f4db2027f450fb959314f5383 by Zebediah Figura <zfigura@codeweavers.com>
* [MSI] store component cost in 512-byte units
* [WINESYNC] msi: Multiply by 512 in dialog_vcl_add_drives().
The main motivation here is to avoid overflow, and multiplying in one place seems simpler.
wine commit id 4a227c62a59a55aff9bacf1473c7f478f5c83294 by Zebediah Figura <zfigura@codeweavers.com>
* [MSI] reduce diff
* [WINESYNC] msi: Create the custom action server as an elevated process.
Dragon Naturally Speaking 12.5 manually validates that the custom action server
is elevated.
One might imagine that the right approach here is to add a manifest to msiexec;
however, msiexec does not always trigger a UAC prompt on Windows.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51143
wine commit id 366398cc53c76028c8dfe8d8a16c78a6a10ce962 by Zebediah Figura <z.figura12@gmail.com>
* [WINESYNC] msi/tests: Delete the temp .msi file in all failure cases.
wine commit id 43fb0ecd0717ad1a6aa0702ed68368ee35d3ecda by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] msi/tests: Use the helpers from utils.h in more modules.
wine commit id b3f11ceb7a0ddcf5fe742377f99c947b0b56a051 by Hans Leidekker <hans@codeweavers.com>
* [MSITEST] include util header
* [WINESYNC] msi/tests: Try restarting tests elevated.
Wine starts processes non-elevated since e92ba2de43d7afbe0704b11b29f7c30f44dfaeca
which means that many tests are skipped now.
wine commit id a6eb51f0e595b2e5ddc521fb61b10d72849dd0f2 by Hans Leidekker <hans@codeweavers.com>
* [MSITEST] try restarting for tests elevated
* [WINESYNC] msi/tests: Get rid of workarounds for old Windows versions.
wine commit id 738ec8285583248a84349939734ed600a47ba73d by Hans Leidekker <hans@codeweavers.com>
* [MSI] fix patch failed
* [WINESYNC] msi: Install global assemblies before running deferred custom actions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56493
wine commit id 7f0ca9c284d15d03f14a8fefefac834990d622cd by Hans Leidekker <hans@codeweavers.com>
* [WINESYNC] msi: Install global assemblies after install custom actions and before commit custom actions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56609
wine commit id 27f5470ff4c20121b9eacd702c888400191c7d9e by Hans Leidekker <hans@codeweavers.com>
* [WINESYNC]: msi is now in sync with wine-staging wine-9.8
* [MSI] Fix build
* [WINESYNC] Update WINESYNC doc
* [MSI] Remove nonameless* defines
* [MSIEXEC] Fix build
* [MSIEXEC] Fix build
* [MSI] Fix vcl_get_cost
Avoid using magic numbers for structures and ease the day for those
who do not remember IEEE 802.11 specifications by heart.
- Add a #define that matches by name with one used since day one
of Visual Studio 2008 (VS2005 does not have Native Wi-Fi SDK)
- Remove magic constant from DOT11_SSID.ucSSID size definition
Reference: https://learn.microsoft.com/en-us/windows/win32/nativewifi/dot11-ssid
CORE-6905
- The #if was missing x86 (Windows SDK bug!)
- The unaligned attribute was on the wrong side (Windows SDK bug!)
- Add a comment that these are unsafe and shouldn't be used
This function is exported from shlwapi.dll since version 4.71.
It has been publicly documented in MS PSDK and MSDN since at least
Windows XP/2003 and claimed to be declared in shlwapi.h; however,
this is inaccurate: it has been declared only starting Vista PSDK.
This is a single header that wraps around the RTL bitmap API. It keeps track of the number of set bits and a hash of the bitmap. The integrity of the bitmap is checked on each call to any of the RTL bitmap APIs. This only works, if the bitmap is consistently modified using only RTL bitmap APIs and not manually messing with the bitmap buffer.
Looks like public symbols contain this structure starting with Win7,
so we can deduce what it looked like in Win2003.
Note that our previous definition was missing a second ULONG at the
end, which can be seen in the SeQueryInfoToken kmtest -- if you
allocated only sizeof(AUX_ACCESS_DATA), the test would crash with
a 4 byte buffer overflow.
This fixes ExceptionContinueExecution cases, where we want to continue execution on the original context (or as modified by the handler), not on some halfway unwinded one.
This is a Vista+ function, but it exists in Windows XP/2003 internally
and used for drawing "Window Text" with a shadow in DrawNCPreview().
And DrawThemeText() now acts as wrapper on top of it. CORE-5991
Remove remaining ketypes.h and mmtypes.h public headers for PowerPC architecture.
Addendum to 6ef6fabfc5 and e372f2b19b. These headers were forgotten to be removed in those previous commits.
For SOME reason comctl32 has been synched manually multiple times to different versions and different pots
This PR aims to fix that
With the exception of button.c which all in all is a massive fork over wines code entirely.
and datetime.c which is at wine 6.0
Comctl32 is now at wine-5.0
- [SDK][INCLUDE] Redirect CLSID_ConnectionFolder to CLSID_NetworkConnections
CLSID_NetworkConnections is the official known name for the class behind it,
thus to avoid breaking current code I 'softlink' CLSID_ConnectionFolder
to the currently used CLSID_NetworkConnections in shlguid_undoc.h.
- [SHELL32] Refer to CLSID_NetworkConnections from PSDK
- Add bugcodes dependency, fixes a rare build failure
- Fix for the sync part of commit 823fdb19d7, somehow it didn't pick up the change from the upstream commit b22efbb8b8
__ftol2 is exported from msvcrt on NT6+, not from ntdll for some reason. So native apps still need to statically link _ftol2 and _ftoul2_legacy, but apps linking to msvcrt only need to statically link _ftoul2_legacy (via msvcrtex), when on NT6+.
This is used by CL v19.41+. It replicates the behavior of the inline assembly code that previous CL versions generated. According to tests it works the same as with previous VS versions.
- POPUP() is used on DBG only.
- SND_ERR() and SND_ASSERT() are wanted even when defined(NDEBUG).
- Add a FIXME as !defined(NDEBUG) code compilation remains broken.
Follow-up of c7a4984 (0.4.15-dev-8414).
Implement Favorites bar.
JIRA issue: CORE-19686
- Introduce CNSCBand class to commonize
some code of CFavBand and CExplorerBand
classes.
- Implement Favorites bar.
- Fix IBandNavigate and INamespaceProxy
interfaces.
- The PIDL format needs to be Windows compatible so that wlanwiz can get the connection GUID.
- SHELL32::ILIsEqual cannot deem PIDL formats it does not understand as invalid.
- DefView must ask the folder when comparing PIDLs.
Bugs fixed:
- fDefault detection of default verb is flawed because it checks the ici struct after conversion instead of the source sei struct.
- The command to execute should not have the filename appended just because %1 nor %L did not appear in the registry command template.
JIRA issue: CORE-19268
- Define ImmFreeLayout parameter special
values (HKL_SWITCH_TO_NON_IME and
HKL_RELEASE_IME) at <imm32_undoc.h>.
- Make ImmFreeLayout parameter an HKL.
JIRA issue: CORE-19268
- Rename KLF_UNLOAD as KL_UNLOAD.
- Move it from win32ss/user/ntuser/input.h
to sdk/include/reactos/undocuser.h.
- Add UKL_NOACTIVATENEXT constant
and use it.
Add WS_GROUP style to the size grip to avoid the keyboard selection stuck.
Fixes keyboard navigation bug in the "Move to..." & "Copy to..." dialogs
that was making the button lose selection focus. CORE-19585
__throw_out_of_range_fmt is implemented in libstdc++, but it is needed by libsupc++ and that would mean we would have to link all C++ code to libstdc++.
* [WINESYNC] ntdll: Add support for parsing application settings in manifests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id fc14442970dc6b97032c3cdd76cab33d774dc1a2 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Implement RtlQueryActivationContextApplicationSettings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 14b9a5af0b44d7e2ca5232ad810c77e561d5d30c by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Propagate the error through the XML buffer in manifest parser.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 7b871727e5cbb8581167acbaae2f4e34dc4ee59e by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Check the namespace in RtlQueryActivationContextApplicationSettings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id e46259fb823f55aa331381fe56916d20049d52f2 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 10f23ddb58b0583c8bce99e59d879c653b389363 by Michael Stefaniuc <mstefani@winehq.org>
* [WINESYNC] ntdll/actctx: Don't stop looking for manifest if dll without manifest is found.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 56b3304a019486b52681a05d4b5454b475275e51 by Fabian Maurer <dark.shadow4@web.de>
* [WINESYNC] ntdll: Use the current platform as processorArchitecture instead of a wildcard.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 6abf99b4803003812d4fcf7bf9effc99030cbec9 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use strncmpiW instead of memicmpW for strings without embedded nulls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 6fc259a57dafab9e72af13980c021e2a59257935 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Avoid dead initialization (scan-build).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 6ea282c7e1abd7ab09a5f0a18a437e63f909da96 by Alex Henrie <alexhenrie24@gmail.com>
* [NDK] Add RtlUTF8ToUnicodeN for user mode
* [WINESYNC] ntdll: Use the Rtl UTF8 conversion functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id f46fa9c92d08c6e656bc22b94e09aa9dbe7d3be9 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use module path as assembly path for manifests embedded in resources.
Fixes Office 2016 installer, which removes its .exe directory from load
path, but expects to be able to load files listed in manifest.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 2d764e90dd2c624f7a2d863ab29bd418ed33d252 by Jacek Caban <jacek@codeweavers.com>
* [WINESYNC] ntdll: Store the default process activation context into the PEB.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id e95d0813fdfcfcac2bb1761e62e1d54e6f73cd6d by Gabriel Ivăncescu <gabrielopcode@gmail.com>
* [WINESYNC] ntdll: Use wcsicmp() instead of strcmpiW() where possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 3e049b6b962b8e6f048101b9910c09d5b1d8f167 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcsnicmp() instead of strncmpiW() where possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id f831b3bd3d6b013893be7645df3a9cd05289c415 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use RtlEqualUnicodeString() instead of strcmpiW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 4d93bafe961ed53488ff0fb4b44cb1ad085531fe by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Avoid using memchrW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 186f189107972b739311f95a4ba3833838349b32 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Avoid using atoiW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 8f3d869d784753d814a3493d01c3650f45389eda by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Avoid using sprintfW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id eb1b2e548656dc3d08cbf3c35454621491b84126 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcscpy() instead of strcpyW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 18411a19b4ea3a68234980c56d4c252670dfc000 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcscat() instead of strcatW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 80005ee016aeed42967adfe5b3042803d008c50d by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcschr() instead of strchrW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 6de0ab276b3b79db4331993316f529a43f67c29a by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcsrchr() instead of strrchrW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 285c5490a4c0ee4a92d042a3e6ab32e6bc14fb49 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcslen() instead of strlenW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id e003b9884edcccc417d41d30073b312648741aaa by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcscmp() instead of strcmpW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 4501ab0a7c80e31e602c540a446809e8ae3ebade by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use wcsncmp() instead of strncmpW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id e36b97e1d0644f90606d27f5104bb09a910540d2 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Make the windows directory a global variable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id ca13f489e18fb1f7944e3bdcfdfc4a810bf80994 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Use single field for misc flags in ComClass redirection section.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 72d055854b59db9059a3465f1e65247c0cc5e94e by Nikolay Sivov <nsivov@codeweavers.com>
* [WINESYNC] ntdll: Create class section for proxy-stub interface entries.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id dd9295b415345f2b686b65bd05fae0320cf6dc39 by Nikolay Sivov <nsivov@codeweavers.com>
* [WINESYNC] ntdll: Use the standard C library names for the printf functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 4478ba258e45559ac97353ab27951e84dd9865c1 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Implement RtlActivateActivationContextEx().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id c71da19d24a5d6f01e65b3b3691a9d7dd17a2278 by Alexandre Julliard <julliard@winehq.org>
* [WINESYNC] ntdll: Fix a memory leak (Valgrind).
Signed-off-by: Chao Long <longchao@uniontech.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id d0946955ec21e4da57aaec92459f81f131b27a49 by Chao Long <longchao@uniontech.com>
* [WINESYNC] rtl is now in sync with wine-staging wine-5.18
---------
Co-authored-by: winesync <ros-dev@reactos.org>
Co-authored-by: winesync <rosdev@reactos.org>
CORE-18196
With most code copied from Thomas Faber's PR #4915 as follows:
[RTL] Correctly initialize segments larger than MAXUSHORT.
GuardEntry->PreviousSize would overflow in this case.
RtlpInsertFreeBlock already handles this correctly by creating multiple free entries.
So we just let it return the last entry and use that for the PreviousSize.
This does not include all of the ASSERT's in PR #4915.
These settings are cached per-process (and invalidated by the global counter). This should reduce the number of registry reads performed by DefView and CFSFolder.
- Synchronize PARTITION_*** definitions between ntdddisk.h and winioctl.h
- Make IsFTPartition() macro definition more accurate with Win2003/Vista+
WDK definition. In particular, partition types that would conflict with
3rd-party ones are not present in this macro. (See comment in header
for more details.)
Simplify also its definition by factoring the common
((PartitionType) & PARTITION_NTFT)
piece.
- It can be recognized, in all DDK/WDK versions, that the first part of
the IsRecognizedPartition() macro definition is basically the definition
of IsFTPartition(). So, take this opportunity to simplify the definition
of IsRecognizedPartition() accordingly without losing any functionality.
Save/Restore the state of the ShellBrowser toolbar/addressbar/statusbar.
Windows shares the state of the Go button and the locked state between Explorer and Internet Explorer but the bar states are not shared.
Notes:
- Seems to fix CORE-17236.
- The stream layout does not match Windows so it uses a different name. The toolbar customize dialog needs to be fixed before it makes sense trying to save the toolbar state and the layout of other bands.
CORE-17236
CORE-16499
Addendum to commit 0a0e6a9f0 that introduced the problem.
Thanks to Hervé Poussineau for having caught it.
Fixes logic errors, and resulting compilation warnings/errors with GCC
in situations like the following one:
```c
if ((PartitionInfo.PartitionStyle == PARTITION_STYLE_MBR) &&
IsFTPartition(PartitionInfo.Mbr.PartitionType))
{ ... }
```
error: suggest parentheses around '&&' within '||' [-Werror=parentheses]
if ((PartitionInfo.PartitionStyle == PARTITION_STYLE_MBR) &&
cc1: all warnings being treated as errors
winioctl.h:
- Re-organize definitions according to the
NT DDK headers they have been taken from.
- Add missing include guards to some definitions.
- Add missing IsFTPartition() macro.
- Add missing volume definitions.
ntddvol.h:
- Guard definitions duplicated in winioctl.h.
- Add missing NTDDI_VERSION checks.
Note: IOCTL_VOLUME_POST_ONLINE is Win8+.
Fix IOCTL_MOUNTDEV_LINK_CREATED, IOCTL_MOUNTDEV_LINK_DELETED,
IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY, to Win2k3+ compatible definitions.
The previous versions of these IOCTLs (in Win2000 and XP) were defined without any access protection.
This was noticed here:
https://community.osr.com/t/ioctl-mountdev-link-created-definition-changed/29428
Move SRW and condition variable definitions out of kernel32_vista and into the NDK.
Essentially grabbed from PR #1190
Trying to reduce diff needed for Rtl/ntdll sync.
Do the same in add_idl_reg_script() (currently unused helper) as well.
This is an addendum to commit b587e7b32, where the removal of the
IDL_FILE_FULL variable definition, broke dependency tracking with
the DEPENDS option. Now we use the correct variable.
The problem was caught after doing a partial (non-clean) build after
commit 0d10fb814. In this commit, two new interfaces, IExecuteCommand
and IObjectWithSelection, were added in the psdk/shobjidl.idl file
and used elsewhere. Recompilation correctly regenerated the corresponding
header, psdk/shobjidl.h, but did not trigger a regeneration of the uuid
static library (via the regeneration of sdk/lib/uuid/shobjidl_i.c),
due to broken dependency tracking on the shobjidl.idl file.
Because of this, the shobjidl_i.c did not contain the new GUID
definitions for these new interfaces, IID_IExecuteCommand and
IID_IObjectWithSelection, and triggered linking errors for the
com_apitest, actxprxy and shell32 modules:
```
error LNK2001: unresolved external symbol _IID_IExecuteCommand
error LNK2001: unresolved external symbol _IID_IObjectWithSelection
fatal error LNK1120: 2 unresolved externals
```
Add user32_vista.dll to introduce new NT6+ User32 features without changing the existing User32.dll when compiled as NT5.x. Also implements a stub for GetDpiForWindow(). The GetDpiForWindow() function will be required to Wine-sync common controls to modern Wine versions.
Changes:
Expose GetDpiForWindow() function and USER_DEFAULT_SCREEN_DPI to appropriate versions in winuser.h
Introduce a basic user32_vista library that can be expanded as needed.
and sync SAL2 annotations.
It didn't always warn in the past, our gutfeeling (we have *not* double-checked that thesis!) is that the warnings might have been triggered when 0.4.15-dev-958-g 237aa3a9c1 was committed
Implement volume level changing for Aux/MidiOut/WaveOut devices. It's represented the following WINMM functions:
- auxGetVolume,
- auxSetVolume,
- midiOutGetVolume,
- midiOutSetVolume,
- waveOutGetVolume,
- waveOutSetVolume,
which are calling the followind messages appropriately:
- AUXDM_GETVOLUME,
- AUXDM_SETVOLUME,
- MODM_GETVOLUME,
- MODM_SETVOLUME,
- WODM_GETVOLUME,
- WODM_SETVOLUME.
This fixes volume control for several 3rd-party programs (like Fox Audio Player 0.10.2 from Rapps, Winamp 2.95 with WaveOut plugin). However it does not fix changing the volume in system volume mixers (SndVol32, MMSys), since they are using their own functionality instead. They technically do the same things, but apart from the functions mentioned above.
CORE-14780
* [UDFS] Clang: Fix a #pragma
'warning: unknown warning group '-Wstringop-overflow', ignored [-Wunknown-warning-option]'
Follow-up to 612b1f2e6 (0.4.15-dev-1129).
* [CREATESPEC] Clang: Fix a target_compile_options()
'warning: unknown warning option '-Wno-stringop-overflow'; did you mean '-Wno-shift-overflow'? [-Wunknown-warning-option]'
Addendum to 00ed72d7e (0.4.15-dev-1169).
* [MSVCRT_WINETEST] Clang*: Fix a target_compile_options()
'warning: unknown warning option '-Wno-stringop-truncation'; did you mean '-Wno-string-concatenation'? [-Wunknown-warning-option]'
Addendum to commits 00ed72d7e (0.4.15-dev-1169) then f155b9377 (0.4.15-dev-4612).
* [TELNET] Clang*: Fix a target_compile_options()
'warning: unknown warning option '-Wno-restrict' [-Wunknown-warning-option]'
Addendum to 447ef2aa4 (0.4.15-dev-4613).
This export function is needed to implement
shell32!SHGetRealIDL function correctly.
JIRA issue: CORE-19278
- Implement IShellFolder_GetDisplayNameOf
function (This function is not inline function in
this case) with retry data.
- Add SFGDNO_RETRYALWAYS flag to
<shlwapi_undoc.h>.
- Add IShellFolderHelpers testcase.