flip_fix_9.patch fixes:
CORE-16984 " 'SPINA Thrulg' / 'SPINA Thyr' / 'Sim Thyr' have images flipped"
CORE-17194 "StretchDIBits test" isn't work correctly"
"Output of 'Project 3 Test'"
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
CORE-14671 "'Peazip' shows icons in buttons and menubar vertically flipped"
"Double Commander shoes icons flipped in buttons, menubar, listview and the treeview"
CORE-13273 "Welcome to Lazarus" icon shows flipped
CORE-13026 "'CudaText app' icon shows flipped"
Not all of those are duplicates, although they appear to be at first glance.
It affects different controls and some of those tickets do have different 'guilty revs' than others.
The patch does consist of 3 parts:
1.) win32ss/gdi/ntgdi/dibobj.c
This one is the most clean part of it, that addresses most of the flipping issues now.
2.) The hack in comctl32.h redefining the version:
We used that in the past to appease some, but not all of the issues listed above.
But it does hide additional issues, e.g. in DvDStyler, therefore we seem to still need that appeasement even today.
Most likely it would make sense to aim to avoid this part in the future.
part 2.) was committed as first appeasement on its own already into
0.4.14-RC-24-g 198b61e
0.4.13-RC-7-g 67211fa
0.4.12-RC-5-g 8449527
0.4.11-RC-16-g b906163
0.4.10-RC-7-g f1e80fe
0.4.9-RC-34-g 9d758ae
3.) toolbar.c change
That part fixes at least the toolbar case for DvDStyler
without relying on the comctl32.h hack any longer,
but it was still not enough to completely get rid of part 2.) yet.
Many thanks to all contributors: 'I_kill_Bugs', Doug Lyons and also 'Julenuri' for testing.
The patch gave nice testbot results:
KVM: https://reactos.org/testman/compare.php?ids=75704,75714
VBox: https://reactos.org/testman/compare.php?ids=75705,75715
and we also created a summary of manual test-results:
https://jira.reactos.org/browse/CORE-17415?focusedCommentId=126668&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-126668
If you read this comment via git blame and your goal is to get rid of the hack in comctl32.h, I would highly recommend
to redo the tests of that testing table, and if that is asked too much, then please test at least the following cases:
CORE-14701 "DVDStyler 3.0.4 transparent toolbars"
CORE-14701 "DVDStyler 3.0.4 erroneously black around icons of welcome-dlg"
"DVDStyler 3.0.4 erroneously black/transparent within comboboxes of properties of VMGM menu"
and try to add what might be needed to fix them, and double-check again:
"DoubleCommander optionsDlg the most complex testcase, contains flip-prone icons in treeview, listview, menubar, buttons, statics". Only some of its flipped icons were impacted by the comctl32.h change before.
A lot of details are not properly covered by tests yet and were
marked with FIXME comments. The implementation was written in such
a way that it behaves identical to the old code in such situations.
wine-staging patch by Michael Müller <michael@fds-team.de>
The order of the stored cookies doesn't match in /testC, so
be a bit less strict in the test.
wine-staging patch by Michael Müller <michael@fds-team.de>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id e88abf0dc4ae7ec6b2fd21130be09dadc478b9fc by Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 085f3738a86e6fa0e12b3f59fa4a9ca86826bb60 by Michael Stefaniuc <mstefani@winehq.org>
Fixes Freestyle 2: Street Basketball update check failure.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 67295a7844b94ccbfce85dbee22a76f12c9f5b36 by Paul Gofman <pgofman@codeweavers.com>
Make logs which show values that are unmapped by cache_container_unlock_index()
go before it's called.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id bcdb58cc7959afd5fa35ab039e6564934888b4c0 by Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id ef88a70fa775f3e7a26d8f1618f32ee94bb9ea05 by Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id a41cb33afaee0adc6fdf3b8c69b9fb545dc15a96 by Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id de5d147de8b3d9c2f65bcb6d5646320ef1d92e58 by Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 9fe900532eb310d114c04d15a8d0b986ec831552 by Jacek Caban <jacek@codeweavers.com>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48739
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 6fcd1378b2516165468bcbd71263c1b18c6be491 by Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 4335be346271072f440419b9234883aef187d857 by Jacek Caban <jacek@codeweavers.com>
Fixes res URL scheme handling.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31399
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 64cb9425da43271109bc1df8df4aa32132f257ae by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id a4357043ff9aa14f086207c239f0fc29c0a24b83 by Hans Leidekker <hans@codeweavers.com>
- Add the 'Backup Operators', 'Replicator', 'RemoteDesktop Users' and 'Network Configuration Operators' aliases.
- Add missing privileges for the aliases.
Happy new year 2021! :-)
When the system is not installed yet (e.g. LiveCD or 2nd installation stage)
there is no registered user and organization, so no need to show this text
label in the shell about dialog.
Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
Since they are completely undocumented and unlikely will be implemented in ROS,
stubbing them only in spec file seems to be a better solution than adding wrong
prototypes.
Use `stdcall -stub` instead of `stub` and enable parameters of the functions.
This allows to properly load our msgina.dll in Windows XP/2003.
Although it still doesn't boot to desktop with dll replaced, but nevertheless
the system crash that was caused by stubbed functions does no longer happen.
[AUTOCHK] Add also support for scanning FATX volumes.
The Format(), FormatEx(), Chkdsk(), ChkdskEx() functions exposed by the
U*.DLL user-mode FS library dlls are different (and have different
prototypes) than the similarly-named functions exported by FMIFS.DLL .
In particular, what we used to call "xxxChkdskEx()" and "xxxFormatEx()"
in our U*.DLL libraries actually correspond more, from their arguments,
to the "Chkdsk()" and "Format()" functions in Windows' U*.DLL . Their
*Ex() counterparts instead take most of the parameters through a
structure passed by pointer.
On FMIFS.DLL side, while FMIFS!Chkdsk() calls U*.DLL!Chkdsk() and
FMIFS!ChkdskEx() calls U*.DLL!ChkdskEx() (and we do not implement these
*Ex() functions at the moment), both FMIFS!Format() and FMIFS!FormatEx()
call U*.DLL!Format() instead, while FMIFS!FormatEx2() calls
U*.DLL!FormatEx() (that we do not implement yet either) !!
To improve that, refactor the calls to these U*.DLL functions so as to
respect the more compatible prototypes: They contain the correct number
of parameters in a compatible order. However, some of the parameters do
not have the same types yet: the strings are kept here in PUNICODE_STRINGS,
while on Windows they are passed via an undocumented DSTRING struct, and
the FMIFS callback is instead a MESSAGE struct/class on Windows.
Finally, the MEDIA_TYPE parameter in U*.DLL!Format() is equivalent, yet
not fully 100% in 1-to-1 correspondence, with the FMIFS_MEDIA_FLAG used
in the corresponding FMIFS.DLL functions.
One thing to notice is that the U*.DLL!Format() (and the Ex) functions
support a BOOLEAN (a flag resp.) for telling that a backwards-compatible
FS version should be used instead of the (default) latest FS version.
This is used e.g. by the FAT FS, where by default FAT32 is selected
(depending also on other constraints like, the disk and the partition
sizes), unless that bit is set in which case, FAT16 (or 12) is used.
- Added zh-TW translation for the following modules: credui, crypt32, getuname, mapi32, themeui, shlwapi.
- Modify zh-TW translation for other files.
- Moving Traditional Chinese translation back to Zh.rc for files came from Wine (comdlg32).
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Get rid of BaseThreadStartupThunk and BaseProcessStartThunk asm wrappers and go to the C functions directly (home space is allocated on the stack by the kernel)
The previous version was miscalculating the buffer size on x64 (due to alignment) and always using a too small buffer.
The new version removes the size calculation entirely and uses the required size returned by NtQuerySystemInformation.
- SHELL32: Improve Portuguese (PT) translation.
Minor objects adjustments to the text
and minor improvements to translation.
- SHELLEXT: Improve Portuguese (PT) translation to acppage rc file.
Addendum to commits 7e116f0e and 00ed72d7.
This removes the "error C4133: 'function': incompatible types - from
'WICPixelFormatNumericRepresentation *' to 'DWORD *'"
message that still remains even when using /wd4133 .
in favor of add_compile_options and the like with generator expressions
Also take this as an opportunity to remove the C++11 standard hack, GCC 8 now defaults to C++14
Instead of messing with global variables and the like, we introduce two target properties:
- WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
- WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
- cpprt: for C++ runtime routines
- cppstl: for the C++ standard template library
NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++
Finally, we manage the relevant flags with the ad-hoc generator expressions
So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
This reverts commit 0.4.15-dev-791-g
6d7ebc2048
It was a workaround just. To bypass sysaudio. It had a very positive effect on
our playback performance, but using the different codepaths did also lead to
regressions, that I have no idea how to address, therefore I think it's my
personal responsibility to revert it. I guess it's better to improve on the
code-paths that we intend to use finally, instead of fixing what will
be dead paths in the future.
The revert will fix:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox"
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox"
- CORE-17285 Realtek HD Audio does no longer work in ReactOS
But ofc now we will suffer again from very severe things that the hack could workaround:
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will need reboot-orgies again, does not longer
work in the same session that we installed the driver
- CORE-9981 "DosBox + Commander Keen6" totally garbled sound output instead of music
"ScummVM 2.0 with Monkey Island 2" totally garbled sound output instead of music
- the test execution times of "GCCLin_x86 on Test VBox" will almost double
Press'n'Hold of a button, then leaving the button rect
should redraw the button in unpressed state
Thanks to JIRA user 'I_kill_Bugs' for perfecting
my initial experiments to fix that.
It regressed by 0.4.9-dev-719-g
b3fb8555bf
No need to sync anything with Wine, their code is
correct on Wine head. The bug was in ros specific diff.
Related to #3249. IACLCustomMRU has a special case of TypedURLs. The TypedURLs key consists of the registry values of "url1", "url2", "url3" etc instead of "MRUList", "a", "b" etc. CORE-9281
A ros specific addition that does not exist on Windows.
Default for Server is still the classic shutdown dlg,
no change on that.
But interested users can manually now create the registry setting
"EnforceFriendlyShutdown" REG_DWORD to "1"
within "SYSTEM\\CurrentControlSet\\Control\\Windows"
to allow overriding the Windows default behavior
without relying on changing the product version number, because
that would not be side-effect-free.
Addendum to 0.4.15-dev-650-g
2edcb58e65
Improve IP address controls.
- Set focus to EDIT control to show caret.
- Process WM_GETDLGCODE messages on EDIT control to catch Tab key.
- Process Tab key and Shift+Tab key in processing WM_KEYDOWN.
CORE-3479
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 70b2d181b1547dbe3c2a62e57c6afb0ee903f358 by Zebediah Figura <z.figura12@gmail.com>
When fInvadeProcess is used, we return an error if the target process
is found but its debug info is not. We should only return an error if
the process is not found.
This fixes a SymInitializeW popup error on Hard Reset Redux startup.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 774ee4734a7d6c02f648fdf1747df837c964583d by Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 30f17befaf216a42a4e2cfbca3ed7bdce43e476a by André Hentschel <nerv@dawncrow.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 7b6f6257bc7e9d8f8a93dfa969510ab4aa16e765 by Jacek Caban <jacek@codeweavers.com>
This fixes searching wow32 binaries, where debuggee search path is
different than debugger's.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 2b0977fc711e1faadfef69e3a46c2d1848b4826b by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id e014d325ddb87dbb4678ef47ef17f9e7f49b0248 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 6b1bc0beac510aa48a848b8182b9310f92609dd0 by Jacek Caban <jacek@codeweavers.com>
It should be used only for the main executable, for which we get full
path anyway.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 5bc58410f28aefea3c3f41e056a372aff4dceac7 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id ceae3f0207fb8f174d0a762ef7fe4f405316541f by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id d483eb21cff1f2b44f048195106d87a414dd66b8 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 131fb79535c74e8011ac82c279f6f4a9d971e1af by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 9896f1ce33561771989d3117c1536fb472df8558 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 26f5bfdd4d071a91a38b25c0064ed5ea48993249 by Jacek Caban <jacek@codeweavers.com>
These are aliases for another symbol. They are often seen on Mac OS when
a dylib reexports some symbols defined in another dylib.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 53b5c3b6c674f4bd6d02f20986598b5b6580a2d8 by Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 88edff846714422c9f875fe6c9e509ee34072d27 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id c3c2cda9d2792f8c9c612b5bd6e9fd4d08cbb073 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 3047385437c7ef36996d0418ac378677f3e9d67c by Jacek Caban <jacek@codeweavers.com>
We should get the address from PEB anyway.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id f2b8af7e7e159a5259aaab42169c4f8220b121eb by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id dab78486d3d0063e32e99fb795311b74eb632d3a by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id e341bd7fe4f2572597ee10cbed5bb2a76ddcc03a by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 1420e64e5f1df4c8bbb016d1b8ff71337cda4884 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 0c56a8f87bac01488349af0ffe3923a1672e72a0 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 7b2e53f5b550e8a4d844c5e74941b02d1c770b0b by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 8230889f1f2e545222f3a51ba9b47fa02196eb98 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 64341284c58bcc22f13f8146bcb6c8a08c0c4ff2 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id c695e7e99e0a06b6039d46f98fea35c363aa6cbe by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 7254579417f337063734933975b25d21da4d31f3 by Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id b664ae8e60e08224cdc3025c28a37cb22356aaa4 by Jacek Caban <jacek@codeweavers.com>
Based on glibc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 56f2b950c3a090d1951edd687e1c6e9ed9388732 by Jacek Caban <jacek@codeweavers.com>