This makes ShellMessageBoxW use the correct implementation where the
text buffer size is dynamic, instead of having a too small hardcoded
size.
Fixes CORE-17271.
See also PR #3172 by Kyle Katarn, supplemented with some ideas from
Mark Jansen.
However we cannot straightforwardly implement ShellMessageBoxA around
ShellMessageBoxW, by converting some parameters from ANSI to UNICODE,
because there may be some variadic ANSI strings, associated with '%s'
printf-like formatters inside the format string, that would also need
to be converted; however there is no way for us to find these and perform
the conversion ourselves.
Therefore, we re-implement ShellMessageBoxA by doing a copy-paste ANSI
adaptation of the shlwapi.ShellMessageBoxWrapW function.
Note that, on Vista+ onwards, shlwapi implements both ShellMessageBoxA/W,
and shell32 directly forwards these exports to shlwapi, thus avoiding
these workarounds.
[PSDK] Explicily use WINAPIV for the variadic ShellMessageBoxA/W functions.
[INCLUDE/REACTOS] Add ShellMessageBoxWrapW in shlwapi_undoc.h .
Remove misuse of multithreading and use NtDeviceIoContol with completion apc
callback instead (mirrors usage of WriteFileEx in WdmAudCommitWaveBufferByLegacy).
This fixes a crash caused by race condition. Code was simulating completion
callback using a thread, this resulted in single threaded code being executed
simultaneously by multiple threads.
CORE-17214
* Move RtlRunOnce functions from kernel32_vista to rtl_vista and export them from ntdll_vista
* Move condvar.c and srw.c from ntdll_vista to rtl_vista
* Move ntdll_vista build script to a subfolder of ntdll
The RtlRunOnce functions are taken from wine, completely unmodified.
The code that was in kernel32_vista had change that used a global keyed_event handle, but was never initialized, so we were still passing NULL thus using the global ExpCritSecOutOfMemoryEvent.
The sorting in explorer broke by
SVN r73128 == git
24fcf531e7
Thanks to Doug Lyons for providing this patch.
I do intend to port it back into 0.4.14RC.
Consider UTF-8/UTF-16/UTF-16BE encodings in file search. Recognize UTF-8/UTF-16/UTF-16BE BOM and NULs at the beginning of the file contents. Optimize for speed.
CORE-17250
To prevent logspam that was introduced when syncing
to Wine Staging 4.18 in 0.4.14-dev-422-g
6feb8748d3
Thanks for anyone helping: Doug Lyons,
Fabian Maurer (Wine), Zebediah Figura (Wine)
I intend to port it back into 0.4.14RC so that
none of our releases will be affected.
Sorry, something went terribly wrong with the CORE-ID
in my head 2 times, one time in the commit comment
and one time in the code!
Addendum to 0.4.15-dev-663-g
cd7db5df89
Those 2 did spam heavily when browsing folders with
many .zip files within. Mark Jansen confirmed that
this is good-path-logging and was just forgotten
to be disabled earlier.
- The user can enter the full path of a directory in "Copy To Folder" and "Move To Folder" features.
- Fix two bugs in SHBrowseForFolder function. One is disability of text box to enter a full path. Another one is disability to choose the root item in BFFM_SETSELECTION.
- Add ES_AUTOHSCROLL style to text box. This enables the user to enter a long text.
CORE-11132
- Add context menu item "Mo&ve to folder..." and implement the action.
- Implement the "Mo&ve to folder..." menu item of "Edit" menu of Explorer.
CORE-11132