Commit graph

72166 commits

Author SHA1 Message Date
Joachim Henze
c7c0bfd4b3 [0.4.9][AUDIOSRV] Update to master state 2023-02-18
by porting back:
0.4.15-dev-5710-g 9672dc5047 CORE-16912 [AUDIOSRV] Overhaul logging interfaces (#5067)
0.4.15-dev-445-g 353b544047 CORE-16814 [AUDIOSRV] Disable Logging to file (#2599)
0.4.13-dev-894-g 5f7575909f CORE-16307 [AUDIOSRV][BOOTDATA][INCLUDE][MMSYS] Rename RosAudioSrv to AudioSrv (#1826)
0.4.13-dev-715-g 353e05a4f3 [AUDIOSRV] Fix the coding style. No code changes!
2023-03-13 21:15:50 +01:00
Joachim Henze
fa46dac201 [0.4.9] Update Scrollbar code to state of master 2023-March-12
by porting back:
0.4.15-dev-5784-g 2aea4ab945 [NTUSER] Scrollbar.c pure whitespace fixes
0.4.15-dev-5680-g 5ad5737370 CORE-18050 [NTUSER] Delete temporary workarounds in co_IntSetScrollInfo() (#4985)
0.4.15-dev-5355-g 0484beb04b CORE-18593 [NTUSER] Don't redraw scrollbar if it is hidden command prompt (#4849)
0.4.15-dev-4492-g 03422451b3 Add '\n' to debug logs (partially, only the scrollbar.c part)
0.4.15-dev-3875-g 977c129f33 CORE-18048 [USER32] SetScrollPos should not bypass UserApiHook (#4372)
0.4.15-dev-3849-g fd28a69de6 CORE-17780 [WIN32SS] Store the scrollbar theming enabled flag in the scrollbar (#4367)
0.4.15-dev-3175-g 222acf5a3e CORE-17777 [NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo()
0.4.15-dev-3174-g dda9c3979e CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 and CORE-17755 [NTUSER] Improve Themed Scrollbars by Minimizing Updates (#3953)
0.4.15-dev-3086-g 236649c626 CORE-16375 [UXTHEME][NTUSER] Fix flashing of scrollbar when scrolling (#3868)
0.4.15-dev-2375-g ffea5152e6 [WIN32SS][NTUSER] Fix an integer underflow within scrollbar info setting
0.4.14-dev-1134-g 00adb1a3f9 [WIN32SS] Improve Drawing Scrollbars
- CORE-14755 fixed, flashing scrollbar triangles (we know 131 affected apps just from rapps!)
- CORE-13931 fixed, FamiTracker invisible about-dlg
- CORE-14685 improves a bit, but is not entirely fixed
- CORE-11561 'Notepad scrollbars problem' fixed

This will also speed up NSIS installers that display their file-copy-progress by
a self-scrolling listview.
2023-03-12 11:04:25 +01:00
Joachim Henze
95a3f3b903 [0.4.9][WMISVC][SRVSVC][WKSSVC][DHCPSVC] Start/Stop behavior
by partially porting back:
0.4.15-dev-xxx [WMISVC] Fix DPRINT that lacks arguments
0.4.13-dev-684-g eab73ad1a4 [SRVSVC] Make the server service stoppable
0.4.13-dev-683-g 4073a8c58d [WKSSVC] Make the workstation service stoppable
0.4.13-dev-680-g eb532bc641 [WMISVC] Accept stop and shutdown commands when the service is running
0.4.12-dev-1063-g 15a828c86d [DHCPCSVC] Eliminate unused code and associated parameters
2023-03-06 11:49:38 +01:00
Joachim Henze
c461964dcc [0.4.9][NTOS:MM] Fix BSOD0x1E
Port back
0.4.12-dev-973-g d29e216f99
[NTOSKRNL] In MmCreateImageSection, properly check whether cache was initialized
This fixes a crash that occurs if nul is typed in cmd.exe (BSOD0x1E)
----------
Port back also some unrelated formatting-improvements within section.c, e.g.: return(xyz) -> return xyz
A *partial* port of
0.4.15-dev-1793-g b7eb0fddf3
2023-02-28 04:09:07 +01:00
Joachim Henze
9452ddd565 [0.4.9][ROSAPPS] Exclude the templates from compilation by default.
As end-users don't need those programming examples in the iso.

picked from
0.4.15-dev-5505-g 1103104227
2023-02-26 13:18:39 +01:00
Joachim Henze
9047554362 [0.4.9][NTUSER] Port back minor improvements
0.4.15-dev-3341-g 4bc95812fd defwnd.c Mark default as unreachable.
0.4.15-dev-316-g 938df97b54 nonclient.c NC_IconForWindow(): Remove redundant if() (#2842)
and:
-defwnd.c: delete a malformed TRACE() which had a format string, but no argument.
-sysparams.c: A single line from 0.4.14-dev-676-g 9ce12f0b4c avoiding a wcslen() call in SpiLoadTimeOut()
2023-02-25 03:43:11 +01:00
Joachim Henze
253e60ea4d [0.4.9][NETSHELL] Repair "Network Connection 'State' does nothing" CORE-18844
It regressed in this branch by 0.4.9-release-187-g 7cac4bf624
 ( in master it was by 0.4.15-dev-5613-g 7a17c7d9ad )

It was the only place within the ros sources where message WM_SHOWSTATUSDLG
was sent also from code. And therefore the only one that needed to be updated as well.

Fix picked from:
0.4.15-dev-5712-g a5cd42c1ea
2023-02-19 22:58:06 +01:00
Joachim Henze
f30e8376c9 [0.4.9][COMDLG32][SHELL32] Support accelerator keys F2/del, Ignore unused flag, de-DE update
by porting back:

[SHELL32] Ignore unused flag SEE_MASK_UNICODE (#5033)

0.4.15-dev-5676-g 5c22ce3742
to mute logspam of the kind
fixme:(dll/win32/shell32/shlexec.cpp:1934) flags ignored: 0x00004000
e.g. when starting Rapps.
-------------------------------------------------------------
[SHELL32] brsfolder.c Delete unused #ifndef __REACTOS__ block

It is a partial pick of:
0.4.15-dev-3642-g 83be315abf
and strip all EOL-whitespace in that file.
This part is done as the file is part of a backport into even older branches.
brsfolder.c will be 100% in sync between releases/0.4.7 - releases/0.4.14 afterwards.
-------------------------------------------------------------
[SHELL32] de-DE.rc Update regarding IDC_BROWSE_FOR_FOLDER_NEW_FOLDER

0.4.15-dev-2957-g c30b1fe893
and pick other small tweaks in that file from master
-------------------------------------------------------------
[COMDLG32] Support shortcut keys on Open/Save Dialog (#3238)

Enable key accelerators on File Open/Save Dialog. CORE-14332
0.4.15-dev-1050-g c8e1460ac5
--------------------------------------------------------------
[SHELL32] Implement VK_DELETE on SHBrowseForFolder (#2661)

Enable Del/Delete key to delete the selected folder in "Browse for Folder" dialog.
You can use https://jira.reactos.org/secure/attachment/40118/getfolder.zip as a test program.
0.4.15-dev-39-g 771457f37f
--------------------------------------------------------------
[SHELL32] Sync brsfolder.c with keyboard shortcut code from wine (#2290)

0.4.14-dev-1187-g fc4c4d4911
2023-02-14 21:07:36 +01:00
Joachim Henze
4f0962254d [0.4.9][SYSSETUP] Fix *.rc combobox for the timezone is too small CORE-18587
by porting back:
0.4.15-dev-5542-g f9dfc45375 CORE-18587
0.4.14-dev-980-g b1c7ca3024 Attention comment
0.4.14-dev-979-g ba17d87636 Attention comment
and pick a few places where translators decided to shorten their strings
2023-02-04 14:00:41 +01:00
Joachim Henze
7cac4bf624 [0.4.9][NETSHELL] Lan Status Dlg should show on LBUTTONUP in systray,
not on LBUTTONDOWN

by porting back:
0.4.15-dev-5613-g 7a17c7d9ad CORE-18813 LBUTTONUP
and strip EOL whitespace
2023-02-02 12:22:55 +01:00
Joachim Henze
96db0cd726 [0.4.9][NTGDI] Check if face->charmap is not zero before accessing its encoding (#4390)
Prevents a BSOD 0x1E upon dereference.
CORE-18091 CORE-18558

By partially porting back:
0.4.15-dev-5587-ga999c43 a999c43746
and take also some cosmetic changes from master head, like EOL-whitespace-removal.
2023-01-21 15:01:29 +01:00
Joachim Henze
8a9c4b374e [0.4.9][SHELL32] Improve Right-click copy/move/link menu
by porting back:
0.4.15-dev-5588-g e89675768b [SHELL32] Add 3 accelerators for IDM_DRAGFILE MENU de-DE.rc (#5001)
pick a single line only of 0.4.15-dev-984-g a5a30fc249 [SHELL32] CFSDropTarget.cpp ERR->TRACE to mute logspam
0.4.11-dev-858-g 1d55f459d6 [SHELL32] CFSDropTarget: Fix right click menu when shown over the tree view CORE-11240

and strip some EOL-whitespaces in the 3 related source-files.

CORE-11240
2023-01-18 22:56:51 +01:00
Joachim Henze
e1b4dddf14 [0.4.9][SETUP][BOOTDATA][FONTS][INF][MEDIA][ROSTESTS] Monospaced fonts and substitution
Switches from "FreeMono" and "Dejavu Sans Mono" to "Courier New" and "Lucida Console"
and therefore brings us closer to 2k3sp2 stock fonts. Saves some RAM also.
Deletes some "Ubuntu" font left-overs in some Themes.

CORE-18605 (and partially CORE-16264)

By porting back the following commits:
0.4.15-dev-5362-g c47758b102 [SETUP][INF][MEDIA] Get rid of the last Ubuntu references CORE-18607 (#4871)
0.4.15-dev-5336-g bd40c13f6f [SETUP][BOOTDATA][FONTS][INF] Delete DejaVu Sans Mono and re-map (#4856)
0.4.15-dev-5335-g a4193ade03 [SETUP][FONTS][INF][GDI32_APITEST] Delete FreeMono and re-map (#4852)
0.4.15-dev-5324-g d035452148 [SETUP][INF][ROSTESTS] Delete font substitutions and tests for "DejaVu Sans" (#4829)
0.4.13-dev-768-g dc1aa8010a [FONTS][SETUP][BOOTDATA] Add Lucida Console font (#1793) CORE-16264
0.4.13-dev-750-g faa3237d46 [FONTS][BOOTDATA][SETUP] Add Courier New fonts (#1783)
2023-01-06 09:50:44 +01:00
Joachim Henze
b32db03004 [0.4.9][CMAKE] Update baseaddress_msvc.cmake
by hand!

Motivation is to fix relocations during 2nd stage of the kind:
(C:\049rls\reactos\dll\ntdll\ldr\ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name C:\ReactOS\System32\browseui.dll (7A0B0000-7A17D000 -> 00C40000)
(C:\049rls\reactos\dll\ntdll\ldr\ldrutils.c:1350) Overlapping DLL: C:\ReactOS\System32\beepmidi.dll

(C:\049rls\reactos\dll\ntdll\ldr\ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name stdole32.tlb (10000000-10004000 -> 00D10000)
(C:\049rls\reactos\dll\ntdll\ldr\ldrutils.c:1350) Overlapping DLL: C:\ReactOS\System32\stdole2.tlb

Motivation is to fix the following warnings at configure-time for *MSVC x86 dbg* :
-- shsvcs has no base address
-- dxtn has no base address
-- libtirpc has no base address
-- acgenral has no base address
-- nfs41_np has no base address
-- shellbtrfs has no base address
-- zipfldr has no base address
-- ntdll_vista has no base address
-- verifier has no base address
-- redirtest1 has no base address
-- redirtest2 has no base address
-- localspl_apitest.dll has no base address
-- custom has no base address
-- vfd has no base address
-- localmon has no base address
-- winprint has no base address

This fixes CORE-14831 for *MSVC dbg* for this release-branch at least.
Meaning: It hides the effect, without fixing the cause.
It is not a sustainable solution for master yet.
We'd need to improve the python script for that.

I tested afterwards the bootup of a build configured via:
-DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
and built with:
MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration
and verified that we had no relocation happening until 3rd stage desktop VBox4.3.12.

MSVC 2010SP1 (16.0.40219.1) x86 target in *rls* configuration was not
tested yet, as that up to now did never reach the desktop yet for unrelated reasons.

I will not upload an iso to sourceforge after this commit,
because it will not have any impact for our primary GCC 4.7.2 toolchain.

This updates the baseaddress_msvc.cmake
to the state we do use in releases/0.4.10 to date
leaving out the components that do not exist in releases/0.4.9 yet,
And additionally preserves the addresses for the 3 fusion dlls,
which our script currently cannot handle yet.
Therefore manually respecting the differences for:
set(baseaddress_localspl_apitest.dll
set(baseaddress_fusion
set(baseaddress_fusion_1_1
set(baseaddress_fusion_2_0
2022-12-29 18:49:38 +01:00
Joachim Henze
f438d026fa [0.4.9][NTUSER] Fix zombie window created by CTRL+ALT+DEL (#4935) CORE-18258
Based on patch by I_Kill_Bugs.
Fixes the regression which was introduced to master by 0.4.15-dev-1126-g 58b0558f94

fix picked from 0.4.15-dev-5532-g ca9ded7af8
2022-12-26 01:46:49 +01:00
Joachim Henze
87ce8a9a83 [0.4.9][NTUSER][USER32][OSK] Initial support of WS_EX_NOACTIVATE flag (#4731)
WS_EX_NOACTIVATE flag forbids the window to be activated
fix picked from 0.4.15-dev-5137-g 826bd41d88 (1 of 3 commits for CORE-18417)
My reason for picking it is that it fixes CORE-13257 'Reboot leaving Evernote 5.9.8 in tray causes WIN32K BSOD 0x50'
I also had to pick together with it the
0.4.15-dev-5491-g 1fbed1710e to prevent it from introducing (+2 failures in user32:msg_focus) unittests.
----------------
The above patch allows/encourages us to pick then also:
0.4.15-dev-5492-g 47f3a4e144 [OSK] Delete WS_EX_NOACTIVATE workaround code
(which referenced CORE-18528, but is not fixing this minor GUI glitch yet, it just removes workaround-code that is no longer needed,
I just mention the ticket here, because the commit on master did that as well)
----------------
----------------
The following 2 things were small *unrelated* improvements nearby, and I decided to take them with me:
0.4.15-dev-4323-g 9f5cde9cbe [WIN32K:NTUSER] window.c Remove broken assert in NtUserCreateWindowEx. CORE-18123 fixed
and
a tiny part of 0.4.15-dev-3476-g 55a1c29341 [WIN32K] appswitch.c: delete unused func DWORD wtodw(const WCHAR *psz)
----------------
and also backport a few whitespace improvements in the files touched.
2022-12-24 02:46:18 +01:00
Joachim Henze
4f64a0cde3 [0.4.9][KEYBOARD] Fix problems in our keyboard layouts
- This fixes problems with "F17" or "F14" shortcut key in the menu items of some programs,
  e.g. SQLiteAdmin 0.8.3.2

CORE-17906 CORE-3903

fix picked from 0.4.15-dev-5145-g cdf907074d
--------------
[KEYBOARD] Switch to QWERTZ for Croatian keyboard layout (#4177)
fix picked from 0.4.15-dev-3503-g 2196a06fc1
--------------
[KBDHU] Fix Hungarian keyboard layout. (#1765) CORE-15567

partial pick from 0.4.13-dev-732-g 48200015f7
(I left out the header comment to keep the file pure ASCI)
--------------
Also ported back some EOL whitespace trimming
2022-12-21 18:29:33 +01:00
Joachim Henze
8d47eaa62f [0.4.9][SYSSETUP] Trivial rc update
picked from 0.4.15-dev-5519-g e8e38b8301
picked from 0.4.15-dev-2937-g 1078340f5c
and ported back some trivial changes in some other languages as well.
2022-12-21 04:03:22 +01:00
Joachim Henze
de98f38ce6 [0.4.9][INF] Backport String deduplication and minor fixes
Fixes a bug in msmouse.inf missing " at begin of last string in section [Strings.0416].
partial pick of 0.4.15-dev-1105-g d50cbb6eed (only the changes in msmouse.inf were picked) (#3173)
------------
in releases/0.4.7 to releases/0.4.11 the whole section [Strings.0415] existed twice in NET_NIC.inf,
deleting one of them entirely is not an oopsie, and does just reflect the state of the newer branches!
------------
partial pick of 0.4.15-dev-4867-g bbccad0ed6 Deduplicate the "ReactOS =" strings,
they are non-localizable now CORE-18191. I intentionally left out the "ReactOS team"->"ReactOS project" part here.
------------
full pick of 0.4.15-dev-309-g 7c8d5635aa [PROCESSR][INF] Fix "Intel Intel" duplication typos
which was an addendum to 3509318521 == SVN r46465
------------
also ported back deduplication of some manufacturer strings.
------------
all changes to shortcuts.inf and syssetup.inf.tpl are exclusively stripping EOL-whitespace, no other changes in those files.
------------
the only part that was not picked from master is the stripped 's' in disk.inf, which is possible,
because the file has been replaced altogether in master by an MS file.
2022-12-18 15:29:20 +01:00
Joachim Henze
a7276188a7 [0.4.9][DESK] Fix handle leaks in screensaver preview and other small fixes
- Fix leaking two handles to avoid creating zombie processes when closing the
screensaver preview

fix is *partial* pick of 0.4.15-dev-5495-g 71123b72fa which *partially* fixes CORE-18680 (#4921)
The other part of that fix is not safe, neither on master, nor when porting back due to yet unfixed Win32K bugs.
-------------------------
*partial* pick of 0.4.15-dev-3154-g 158a479a4e "\r\n"->"\n" in desk.cpl
-------------------------
furthermore port back some EOL-whitespace cleanup and some minor translation improvements
-------------------------
also *partial* pick of 0.4.15-dev-5521-g 5ecb9e8cb5 (#4943)
only the parts that are relevant for older releases
-------------------------
0.4.14-dev-111-g 72e5c2e77c hShell32 is always non-NULL in epilogue
2022-12-16 21:02:27 +01:00
Joachim Henze
f08cf7c7b9 [0.4.9][DXDIAG] A bit closer to current releases/0.4.14 for translations and dlg layout
ports back some minor tweaks, mostly in translations:
0.4.14-dev-1409-g 951e5f2851 CORE-12477 part3
0.4.14-dev-1408-g f03c4c4378 CORE-12477 part2
0.4.14-dev-1405-g dcc6dcb0bd CORE-12477 part1
- Less text truncation for all languages
- Manually Tweaked fr-FR the most, see CORE-12477
- Manually Tweaked de-DE enlarged a buttons size
- For All Languages harmonized the maximized available space for dynamic strings in 2nd tab right side from 100->120
-----------------
0.4.10-dev-464-g 6ac04ad787 [DXDIAG] Fix wrapped controls in russian translation
2022-12-10 18:45:02 +01:00
Joachim Henze
2a30910de8 [0.4.9][NTUSER] Fix Toolbar re-painting when Rebar parent has been altered (#4380) CORE-12342
Fixes:
CORE-12342 '7zip is not drawing some of its controls until forcing a repaint'
CORE-8734 '[WIN32SS] dxdiag exposes a tabsheet redraw problem'
...
and many other duplicates in JIRA.

If a Rebar window is altered by calling either ShowWindow() or UpdateWindow()
then we were only updating the parent and omitting their children windows.

This is closer to the behavior of the very very old SVN r27394 == git f1a7f30887 .
And therefore intentionally excludes parts of SVN r27403 == git e2651a0dbc .

The bots have no complaints about it:
KVM https://reactos.org/testman/compare.php?ids=81266,81290
VBox https://reactos.org/testman/compare.php?ids=81267,81291

fix picked from 0.4.15-dev-3885-g ea7c14919e
2022-12-07 02:14:01 +01:00
Joachim Henze
c9ddd05570 [0.4.9][NTGDI] Commit minimized Flip_Fix_9.patch
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"
CORE-18653 The dibobj.c part also fixes a BSOD 0x1E nullptr deref in Win32K when running the setup of 'Auslogics Disk Defrag Pro 4.9.4.0' in releases/0.4.7 to releases/0.4.13

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 2 parts:

1.) win32ss/gdi/ntgdi/dibobj.c
This one is the most clean part of it, that addresses most of the flipping issues now, and the BSOD 0x1E.

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
Interestingly this part is not needed for releases/0.4.7.
It became necessary for all newer releases with the COMCTL32 Winesyncs during 0.4.8-dev' and 0.4.9-dev'ing and their massive button.c-changes.

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.

fix is a squashed pick from
0.4.15-dev-1603-g 232c45fcd7
0.4.15-dev-5396-g 9c5bb096bc [COMCTL32] partial revert of the upper commit
2022-11-22 16:20:37 +01:00
Joachim Henze
73103fe4f4 [0.4.9][DEVMGR] Fix wrong menu item hint (#4854) CORE-18608
Item hint for "Resources by connection" was incorrectly set to the hint for "Resources by type".

fix picked from 0.4.15-dev-5334-g 075ec50298
and also port back stripping of some EOL-whitespace
2022-11-16 13:32:19 +01:00
Joachim Henze
6fa8c2ac56 [0.4.9][WDMAUD.DRV][MMIXER] Improve AC97 driver from rapps by defining USE_MMIXER_LIB
By taking alternative code-paths in WdmAud and bypassing Sysaudio.

This is a squashed backport of:
0.4.15-dev-791-g 6d7ebc2048 the USE_MMIXER_LIB which gives the best results when paired with those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE-17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE-17276 winmm:mixer-testbot-crash-fix

Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
            same improvement for "ScummVM 2.0 with Monkey Island 2"

The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.

Most of the above mentioned issues were a regression of SVN r44721 == 4b9731d0db

Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17744 Fox Audio Player 0.10.2 can not longer play an mp3 file with 22kHz, WMM audio output
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. We resolved that as WontFix therefore.
2022-11-14 18:21:31 +01:00
Joachim Henze
68befdd5d6 [0.4.9][SETUP][INF][MEDIA][FONTS] Massive font and font substitutions upgrade
This fixes tons of font rendering issues for many localizations, brings the set
of fonts closer to the 2k3sp2 stock fonts, and adapts some font substitutions.
Best of all is that it shrinks the iso size by ~13MB on average and stabilizes ros by
consuming significantly less memory.

It is a squashed backport of the following commits:

0.4.15-dev-5287-g 4615c824db [SETUP][INF] Delete obsolete font substitutions "DejaVu Serif" (#4827)
0.4.14-dev-1515-g 30fae1a2df [MEDIA][FONTS] Fix French glyphs of Tahoma font CORE-16899 (#2607)
0.4.14-dev-586-g 9525593660 [MEDIA][FONTS] Improve tahomabd.ttf (Latin) No.35 CORE-8408
0.4.14-dev-584-g 94f92b0b2e [MEDIA][FONTS] Improve tahomabd.ttf (Latin) No.34 CORE-8408
0.4.14-dev-469-g 0b938a35bd [MEDIA][FONTS] Improve tahomabd.ttf (Latin and Punctuation) No.33 CORE-8408
0.4.14-dev-467-g c3da027012 [MEDIA][FONTS] Improve tahomabd.ttf (Punctuations) No.32 CORE-8408
0.4.14-dev-462-g 591b2b807c [MEDIA][FONTS] Improve tahomabd.ttf (Punctuations) No.31 CORE-8408
0.4.14-dev-456-g d8187d33be [MEDIA][FONTS] Improve tahomabd.ttf (Punctuations) No.30 CORE-8408
0.4.14-dev-430-g f41366daad [MEDIA][FONTS] Improve tahoma.ttf (Punctuations) No.29 CORE-8408
0.4.14-dev-426-g 55251a0a8e [MEDIA][FONTS] Improve tahomabd.ttf (Latin, Greek and Cyrillic) No.28 CORE-8408
0.4.14-dev-400-g b7076dc2bc [MEDIA][FONTS] Improve tahoma.ttf (Latin) No.27 CORE-8408
0.4.14-dev-397-g 551b101720 [MEDIA][FONTS] Improve tahomabd.ttf (Latin) No.26 CORE-8408
0.4.14-dev-396-g 8cbcb172f6 [MEDIA][FONTS] Improve tahoma.ttf (Latin and Cyrillic) No.25 CORE-8408
0.4.14-dev-395-g 65cbadf2d6 [MEDIA][FONTS] Improve tahoma.ttf (Cyrillic, Greek and Latin) No.24 CORE-8408
0.4.14-dev-391-g 454ea3d85b [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin and Greek) No.23 CORE-8408
0.4.14-dev-389-g 9ef61bb887 [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin and Greek) No.22 CORE-8408
0.4.14-dev-385-g 6f2662688b [MEDIA][FONTS] Improve UniVGA16.ttf (VGA) font CORE-8408
0.4.14-dev-378-g 871d322f92 [MEDIA][FONTS] Improve tahoma.ttf (Cyrillic and Latin) No.21 CORE-8408
0.4.14-dev-377-g 21f4e69ee8 [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin) No.20 CORE-8408
0.4.14-dev-374-g e4de098127 [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin) No.19 CORE-8408
0.4.14-dev-370-g dda8185297 [MEDIA][FONTS] Improve tahoma.ttf (Cyrillic and Latin) No.18 CORE-8408
0.4.14-dev-367-g 36163a235b [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin) No.17 CORE-8408
0.4.14-dev-357-g 203a6babdf [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin) No.16 CORE-8408
0.4.14-dev-356-g 7d7f134f94 [MEDIA][FONTS] Improve tahoma.ttf (Cyrillic and Latin) No.15 CORE-8408
0.4.14-dev-339-g 54c8cc66ab [MEDIA][FONTS] Improve tahoma.ttf (Cyrillic) No.14 CORE-8408
0.4.14-dev-338-g 9f803ab091 [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin) No.13 CORE-8408
0.4.14-dev-333-g 67c78d88c8 [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic and Latin) No.12 CORE-8408
0.4.14-dev-330-g 15748cf03a [MEDIA][FONTS] Improve tahomabd.ttf (Cyrillic) No.11 CORE-8408
0.4.14-dev-329-g 463a3f8c06 [MEDIA][FONTS] Improve tahoma.ttf (Cyrillic) No.10
0.4.14-dev-328-g c58eced19b [MEDIA][FONTS] Improve Cyrillic glyphs of tahoma.ttf a bit
0.4.14-dev-327-g ff715073ca [MEDIA][FONTS] More improve Cyrillic glyphs of tahomabd.ttf
0.4.14-dev-325-g 6b1ca2895b [MEDIA][FONTS] Improve Cyrillic glyphs of tahomabd.ttf
0.4.14-dev-324-g ff77ddff5e [MEDIA][FONTS] Improve Cylliric glyphs of tahoma.ttf more
0.4.14-dev-323-g 6fe6a88b04 [MEDIA][FONTS] Improve Cyrillic bitmap glyphs of tahoma.ttf
0.4.14-dev-231-g 2627b52d95 [MEDIA][FONTS] Improve Tahoma font (tahoma.ttf) for Hungarian (#2018) CORE-16480
0.4.14-dev-20-g 2f4fb903b4 (partially) [MEDIA][FONTS] Delete many fonts CORE-16407 (#1955)
0.4.14-dev-6-g f45dd65773 [MEDIA][FONTS] Replace 'Verdana' fonts CORE-16400 (#1948)

0.4.13-dev-799-g 10c08e1d62 [SETUP][BOOTDATA][INF] Helvetica-to-Arial substitutes (#1809) CORE-16264
0.4.13-dev-798-g 257aed0e69 [SETUP][BOOTDATA][INF] Delete Tahoma-to-Tahoma substitutes (#1808) CORE-16264
0.4.13-dev-785-g 3f1ab92d3a [SETUP][INF] Helvetica must be substitute to Arial font (#1803)
0.4.13-dev-784-g 01a1348325 [MEDIA][FONTS] Replace Georgia fonts (#1802) CORE-16293
0.4.13-dev-783-g 6f796ab043 [MEDIA][FONTS] Replace 'Palatino Linotype' fonts (#1800) CORE-16292
0.4.13-dev-769-g 5bbc2c6308 (partially) [SETUP][INF] Fix font substitutes (#1794) CORE-16264
0.4.13-dev-765-g 04a361d091 [FONTS][SETUP] Add Trebuchet MS fonts (#1791) CORE-16272
0.4.13-dev-764-g dbb4432b25 [FONTS][SETUP][BOOTDATA] Add Times New Roman fonts (#1790) CORE-16272
0.4.13-dev-753-g bb1878157b [FONTS][SETUP] Add Palatino Linotype fonts (#1785) CORE-16272
0.4.13-dev-752-g 5ce98c8519 [FONTS] s/Geogia/Georgia/
0.4.13-dev-751-g e282f99ce5 [FONTS][SETUP] Add Geogia fonts (#1784) CORE-16272
0.4.13-dev-749-g 1463f4b02a [FONTS][SETUP][BOOTDATA] Add Arial fonts (#1781) CORE-16272
0.4.13-dev-742-g 4cfe7f84bb (partially) [SETUP] Add codepage-specific font substitutes (#1772) CORE-16266
0.4.13-dev-737-g f054844f33 [SETUP] Sort font substitutes (#1770)

0.4.10-dev-626-g 8a407b5c60 (partially) [FONTS] Update Hebrew font subtitutions (#795) CORE-14880, CORE-14943
2022-11-06 03:21:54 +01:00
Joachim Henze
10b4abf5a8 [0.4.9][WIN32SS] Fix RLE4 bitmap decoding (#1188) CORE-10553
fix picked from 0.4.12-dev-189-g 968c8f37f1

It fixes:
CORE-10553 'WinRar SFX have corrupted image'
CORE-11399 'Microsoft paint (from XPSP3) does not show bitmaps on the tools'

Please note, that MS mspaint.exe does not start in all older rls-branches yet for unrelated reasons,
it did start and render properly in releases/0.4.11, but does not start in releases/0.4.7 yet.
Still I marked the ticket CORE-11399 as resolved in all of them as that has nothing to do with the RLE stuff.
The WinRAR SFX worked properly in all of them.
2022-10-26 11:45:14 +02:00
Joachim Henze
26a3f98df7 [0.4.9][BCRYPT] Add ECDSA P384 to known algorithms (#4236)
Today 2022-10-25 was the day, when I spotted the first URL in rapps that is not longer happy with just having
ECDSA_P256 but now needs even ECDSA_P384 to make the rapps download succeed. *eye-rolling*
It was https://bitbucket.org/Swyter/tld-downloads/downloads/diabloiidemo.exe
that failed the rapps download with

fixme:(dll/win32/bcrypt/bcrypt_main.c:359) algorithm L"ECDSA_P384" not supported
err:(win32ss/user/user32/windows/messagebox.c:1048) MessageBox: L"Paket konnte nicht geladen werden! Pr\00fcfen Sie Ihre Internetverbindung!"

So I have no choice but to follow the totally stupid crypto-rat-race and
add the missing structs and handlers in BCryptOpenAlgorithmProvider().

When will the world ever learn that the new cryptos do outdate faster than the new shit even can be implemented in time everywhere?
Each additional crypto algorithm effectively enlarges the attack surface of the end-points instead of making stuff more secure.
The world is rushing towards totally breaking backward compatibility to older systems. This is built-in obsolescence. For which gain?
This race can never be won. Each crypto-iteration just intensifies the existing chaos. Enough ranting...

fix picked from 0.4.15-dev-3662-g c3e0df0611

It is a cherry-pick a part of Michael Müller's commit from Wine
76b6c360fa

The commit doesn't fix CORE-14198 at all, same like on master, but since the original commit was linked
to that JIRA ticket as well, I decided to do the same with the backport.
2022-10-25 02:20:10 +02:00
Joachim Henze
e3e8805382 [0.4.9][REACTOS] Remove references to ReactOS Foundation (#4557)
See https://reactos.org/wiki/ReactOS_Foundation for more information.

the first part of CORE-18191

picked from 0.4.15-dev-4866-g 6881d8c624

Respect:
-Colins wish to leave out for now all the matches in kbdtool for legal uncertainty
-boot_images.cmake on master vs. boot/CMakeLists.txt in older branches
-treating cpu.inf special in this first commit for the sake of keeping sync to all other infs
-unlike master I decided to groom also cdmake, because I don't see any reason yet to dump that
 in the older branches
-all releases down to releases/0.4.7 were released for the first time after the "ReactOS foundation"
 dissolved already in 2015. So all are definitely fine to receive this commit.
-port back some EOL whitespace fixes as well in common.ver to sync the file to 100% to master head
2022-10-24 00:27:46 +02:00
Joachim Henze
92390a4c4a [0.4.9][NTUSER] Fix taskbar panes activation (#2046) (#3294) (#3697) (#3700), [SHELL32] (#4800)
This is a squashed backport of the following commits:
0.4.13-RC-53-g 4f628f6b16 (partial pick of shell32-changes for Miranda CORE-14439 & Winamp CORE-13584, explorer left out)
0.4.14-dev-369-g 141cf04239 (#2046) NTUSER
0.4.15-dev-1126-g 58b0558f94 (#3294) NTUSER
0.4.15-dev-2618-g 32b0cf6fc6 (#3697) NTUSER
0.4.15-dev-2621-g 59d4c11203 (#3700) NTUSER
0.4.15-dev-5242-g e6fb0e0c25 (#4800) Cleanup

brings us closer to releases/0.4.14

In the older branches it will fix the following bugs (or prevents introducing them):
CORE-13584 'Winamp 5.666 erroneously has a secret tab shown in taskbar'
CORE-14380 'Effective File Search 6.8.1 when you open up the app via desktop link there is no pane in taskbar'
CORE-14439 'Miranda IM 0.10.21 snap-to-monitor-border-feature brings ros to halt'
CORE-15655 'Click-N-Type Virtual Keyboard 3.03.0412 has no taskbar pane'
CORE-15669 'DVD Write Now 1.5.12 SP2 setup has no taskbar pane'
CORE-15716 'Photofiltr 7.2.1 has no taskbar pane'
CORE-15731 'Java JRE 6u45 setup, last page of setup has no taskbar pane'
CORE-16030 'Moo0 Audio Recorder - the taskbar icon does not appear'
(CORE-17330 Regression, many installers that should have only 1 taskbar pane, now have 2 of them erroneously)
2022-10-22 22:32:28 +02:00
Joachim Henze
9764a5e2e2 [0.4.9][NTFS] PrintAllVCNs(): Fix a typo in an ASSERT() (#4682), DPRINT1->DPRINT, EOL-WS
First part with the typo in the assert was introduced by 5579428b4f
which was merged into ros by a merge-task during 0.4.8-dev'ing.
releases/0.4.7 didn't have that code yet.
fix picked from 0.4.15-dev-5035-g f308c6a2bc
----------
[NTFS] Do not print debug message for every function call by default
That 2nd part was picked from 0.4.13-dev-450-g 1552434940
----------
And for all the files that I had to touch for the 2nd part in the older branches,
I ported back also some EOL-whitespace-fixes within like they were done during 0.4.15-dev'ing.
2022-10-16 23:33:43 +02:00
Joachim Henze
902f9a8773 [0.4.9][RPCRT4] Add I_RpcSNCHOption() as 'stub' CORE-12534, and fix 'Routeines' typos (#2481)
fixes BSOD 0xc0000139 STATUS_ENTRYPOINT_NOT_FOUND upon boot when
replacing just the file advapi32.dll with 2k3SP2 version 5.2.3790.3959

We can not reach the desktop yet, but at least the GUI,
and we do no longer BSOD and can instead properly ACPI-shutdown at this point.

picked from 0.4.15-dev-71-g 0b530fe496
----------
also pick unrelated 0.4.14-dev-1260-g 6e79e60883 [RPCRT4] Fix 'Routeines' typos (#2481)
which contrary to its commits comment in master is very little only 'related' to CORE15682
but it imports c73352047d
and is a very safe fix, so I picked that as well.
2022-10-15 22:23:52 +02:00
Joachim Henze
cc27dfd4bc [0.4.9][NTGDI] 'otm' is always non-NULL in epilogue CORE-16993
is a small optimization picked from 0.4.14-dev-108-g 1bf982ff88
otm is checked for NULL already a few lines before in that function, and is not touched
anymore in between the two locations. Tiny bit shorter+smaller now,
and might satisfy also some static code-analysis.
The origin of checking it twice for NULL dates back into the pre-0.4.7-era of ros.
2022-10-10 02:34:14 +02:00
Joachim Henze
4c35cd179c [0.4.9][CMD] Quick fix for the REM command parser. CORE-17030
This avoids spamming "Syntax Errors" to the cmd-prompt when starting the VS2010 command prompt.
Or when typing something like "@Rem Hello" at the prompt.

Fix picked from 0.4.15-dev-202-g 9c11be5a3a
2022-10-09 19:54:24 +02:00
Joachim Henze
d328046de5 [0.4.9][DBGHELP] Accept NULL symbol path as reset-to-default CORE-17073 (#3257)
It fixes Heap Corruption when starting KernRate, which I could confirm also in
all the older ros branches by using:

gflags /p /enable Kernrate_i386_XP.exe /full
Kernrate_i386_XP.exe

The older builds did not expose the user-visible symptom of "the app crashing" yet
(due to different memory layout),
but the heap corruption was already happening in all of them.

This is a squashed backport of:
0.4.14-RC-92-g d3e301e28b (the actual fix)
0.4.14-RC-93-g 651a011548 (fix for compiling on GCC RosBE *Lin* 2.1.2 carrier-releaser)
0.4.14-release-24-g 57efac32b1 (just a whitespace addendum)
2022-10-08 23:28:33 +02:00
Joachim Henze
b22796d9de [0.4.9][OPENGL32] Remove Err Log Spam from wglMakeCurrent in nominal cases (#3096) CORE-17224
The log-spam was triggered at end of 2nd stage and within some games.

fix picked from commit 0.4.15-dev-655-g ba006b3d49
2022-10-07 18:18:57 +02:00
Joachim Henze
e692c0d258 [0.4.9][CRT] Always initialize _[w]pgmptr with a *FULL* path to the current application CORE-12931
Otherwise fall back to the computed argv[0].
This is expected by some applications, for example Git.
Code is adapted from Wine.

Many thanks to Stanislav Motylkov for having investigated this bug!

fixes CORE-12931 and all its duplicates: CORE-13892 CORE-13898 CORE-14066

Fix picked from 0.4.10-dev-201-g f215f394d8
2022-10-07 02:15:52 +02:00
Joachim Henze
b2b8c34d15 [0.4.9][SHELL32] Bypass OpenWith for Delete and F2 (Rename) Keys (#4032) CORE-17810
Logspam started during 0.4.9-dev'ing when zipfldr got committed,
logspam became much worse by 0.4.10-dev-599-g 932df378bf
But the actual bug of 'calling those functions when not needed' is much older than that.

Fix picked from 0.4.15-dev-3275-g cee171f5d2
2022-10-05 11:01:35 +02:00
Joachim Henze
609769262c [0.4.9][CMAKE] Update GCC baseaddress.cmake
Motivation is to fix the very frequent relocations
that we had since 0.4.9-dev'ing in the GCC build of the kind:

(../dll/ntdll/ldr/ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name comctl32.dll (7BEA0000-7C065000 -> 00410000)
(../dll/ntdll/ldr/ldrutils.c:1350) Overlapping DLL: C:\ReactOS\system32\rpcrt4.dll

(../dll/ntdll/ldr/ldrutils.c:1311) LDR: LdrpMapDll Relocating Image Name comdlg32.dll (7BAA0000-7BB87000 -> 005E0000)
(../dll/ntdll/ldr/ldrutils.c:1350) Overlapping DLL: C:\ReactOS\system32\shell32.dll

which really slowed down this release version significantly.

The update will also fix the following warnings at compile-time for GCC:
-- dxtn has no base address
-- zipfldr has no base address
-- verifier has no base address
-- custom has no base address
-- notifyhook has no base address
-- vfd has no base address

This updates the GCC baseaddress.cmake
to the state we do use in 0.4.10-release-145-gb5cfb62
leaving out the components that do not exist in releases/0.4.9 yet,
And additionally preserves the addresses for the 3 fusion dlls,
which our script currently cannot handle yet.
Therefore respecting the differences for:
set(baseaddress_localspl_apitest.dll           0x760a0000)
which has a different name in the old branches and:
set(baseaddress_fusion                         0x721C0000) #added manually, last entry - 0x40000
set(baseaddress_fusion_1_1                     0x72180000) #added manually, last entry - 0x40000
set(baseaddress_fusion_2_0                     0x72140000) #added manually, last entry - 0x40000
2022-09-30 22:56:23 +02:00
Joachim Henze
cd1ab7ea73 [0.4.9][SERVICES] Remove the "Special service accounts initialization" hack
This is a *partial* back-port of 0.4.10-dev-279-g 75dc031080
And a plain revert of the guilty SVN r73486 == git a35a785b11

It will fix the following regression symptoms:
- CORE-12614 empty "documents and settings" folder created when using non-english localization
- CORE-12613 we will save 1012KB of memory (commit charge in taskmgr), by shrinking the registry a bit
- CORE-18416 RaceCondition, sometimes the network icon in systray does not appear in late 0.4.9-dev and releases/0.4.9

For the record: I decided to pick only part of the fix from master and not all, because the proper fix
would rely on a lot of things to pick additionally from 0.4.10-dev' and even 0.4.11-dev'.
The consequences of only partially picking is that we cannot complete the setup of Office 2010 with its
copyprotection-driver anymore, which relies on being able to load its service with the proper account and user profile,
and not with the fallback we used in older reactos releases. If you need that feature, please use releases/0.4.11 or higher,
because even 0.4.10 is not handling this properly yet.
The conservative approach of 'not having the hack, and sticking to just one profile' is better for the older releases overall.
2022-09-28 00:33:01 +02:00
Joachim Henze
275c4442bb [0.4.9][SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM CORE-18089 (#4386)
That problem in the shell was unhidden when we switched from our own to the MS-PL CDFS-driver
in 0.4.8-dev-164-g ec6b3ecbe4
because our own old CDFS driver erroneously never reported any CD file being read-only.

Fix picked from 0.4.15-dev-4348-g 513d0a6d2d

While backporting the fix, I decided to port back also some EOL-whitespace-stripping in that file.
2022-09-22 16:19:22 +02:00
Joachim Henze
2986b27f7d [0.4.9][SHELL32] Fix uninitialized variable usage. CORE-15251 (#3986)
This fixes log spam about NM_CUSTOMDRAW not being handled,
e.g. when interacting with the start-menu or filebrowsers menubar.
Less logging implies faster painting here with dbg-builds.

fix picked from commit 0.4.15-dev-3229-g 22e58e68aa

The bug was a regression of 0.4.9-dev-151-g 0aed0fd167 very likely,
The symptom with the logging can neither be observed in unpatched releases/0.4.8 nor in releases/0.4.7
2022-09-20 18:25:46 +02:00
Joachim Henze
5690b9a8d2 [0.4.9][WINHTTP] Fix 1 MSVC2010SP1 x86 dbg warning LNK4199 (#4414) CORE-18104
which I could observe all the way from releases/0.4.7 up to releases/0.4.14
with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration

Creating library dll\win32\winhttp\winhttp.lib and object dll\win32\winhttp\winhttp.exp
LINK : warning LNK4199: /DELAYLOAD:ole32.dll ignored; no imports found from ole32.dll

Fix picked from 0.4.15-dev-4326-g 2f7dc168f2

And just for the record: Wine did the same with their:
f400f25c25
2022-09-20 00:33:52 +02:00
Joachim Henze
2ae4f094cb [0.4.9][WPP] Mute 3 MSVC2010SP1 x86 dbg warnings C4146 CORE-18104
warnings can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
[7441/11751] Building C object sdk\tools\wpp\CMakeFiles\wpp.dir\ppl.yy.c.obj
[7442/11751] Building C object sdk\tools\wpp\CMakeFiles\wpp.dir\ppy.tab.c.obj
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
ppy.y(402) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

partial pick from: 0.4.13-dev-132-g f47f45dbdd

Yes the /wd4244 wasn't really necessary for x86, but only for x64,
but taking it with me as well synced the file to 100%.
2022-04-08 00:54:45 +02:00
Joachim Henze
9c34433cd7 [0.4.9][CMAKE] Fix MSVC2010SP1 x86 dbg configure-warning 'winspool has no base address' CORE-18104
pick part of 0.4.10-dev-312-g a3ddb8a4c2 to harmonize the
inconsistency in the base-address-files regarding winspool.
Since an ancient winspool-name-change
the baseaddress*.cmake files do reference the winspool module in an inconsistent style:
- 'baseaddress_winspool' in baseaddress.cmake 'was already' / 'is still' ok without
   the 'drv' in the older branches (unlike 0.4.10-dev-311)
- 'baseaddress_winspool.drv' in baseaddress_dwarf.cmake
- 'baseaddress_winspool.drv' in baseaddress_msvc.cmake

And therefore only GCC did properly set a base address, but MSVC failed at that.
No warnings afterwards anymore about 'winspool has no base address' during configure.

No false hopes though: The baseaddress-files do still remain a big mess afterwards,
especially in releases/0.4.9 for GCC dbg where we not only have the 'usual incomplete files'
but also still have and always had a lot of relocations between ros components at runtime
because some ros modules do overlap since some Wine-sync during 0.4.9-dev'ing, which
increased the binary sizes. But I just wanted to focus on the avoidable winspool-detail here for now.
Might deal with the other stuff later.
2022-04-07 01:07:52 +02:00
Joachim Henze
2da5e4b97b [0.4.9][CMAKE] Fix 9 MSVC2010SP1 x86 dbg warnings LNK4221 CORE-18104 CORE-14373
by always unconditionally enabling "String Pooling" /GF

Pros:
- consistency between the toolchains, as GCC always has this enabled
- shrinks the binary sizes for MSVC dbg builds
- smaller binaries will also make relocations less probable with MSVC dbg and a given set of (often outdated) precalculated base-addresses
- interestingly it also fixes/hides some linker warnings LNK4221

which can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration, here example from releases/0.4.7:
[819/11751] Linking C static library dll\opengl\mesa\main\mesa_main.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[830/11751] Linking C static library dll\opengl\mesa\math\mesa_math.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[858/11751] Linking C static library dll\opengl\mesa\swrast\mesa_swrast.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[879/11751] Linking C static library dll\opengl\mesa\tnl\mesa_tnl.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[897/11751] Linking C static library dll\opengl\mesa\vbo\mesa_vbo.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[1602/11751] Linking C static library sdk\lib\3rdparty\adns\adns.lib
internal.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[4327/11751] Linking C static library sdk\lib\tdilib\tdilib.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[11714/11751] Linking C static library win32ss\user\winsrv\consrv.lib
consrv.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

[11726/11751] Linking C static library win32ss\user\winsrv\concfg\concfg.lib
precomp.h.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

It manages to make all the mentioned 9 LNK4221 disappear without introducing any other warnings into those modules, or into any other module.
Ftr I do not understand why String Pooling hides those LNK4221. But its effectiveness is evident.
But some other LNK4221 in other modules do still remain after it. Their count is not 0 afterwards, just significantly reduced.

Cons:
- String Pooling may slightly increase the build time, but the impact is negligible, even on my 12 year-old PC.
- String Pooling may make lousy code crash, that illegally wants to write into string constants, like we saw it for ROSTESTS298 for example.
  But that is actually not a bad thing. That test was also broken beforehand and crashed even on real Windows.
  We didn't find any similar problems within the 'productive code' yet.

fix is a partial pick of:
0.4.12-dev-354-g 5e673f3118
and its addendum
0.4.12-dev-655-g 237110604b [CMAKE] msvc.cmake: Remove 2 now redundant '/GF' (#1239)
2022-03-31 18:28:59 +02:00
Joachim Henze
82a852dae6 [0.4.9][CYLFRAC] Fix 3 MSVC2010SP1 x86 dbg warnings C4305 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(109) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(110) : warning C4305: 'function' : truncation from 'double' to 'float'
C:\047rls\reactos\modules\rosapps\applications\screensavers\cylfrac\cylfrac.c(137) : warning C4305: 'initializing' : truncation from 'double' to 'GLfloat'

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-31 06:15:00 +02:00
Joachim Henze
2d78bae1af [0.4.9][ROSHTTPD] Fix 3 MSVC2010SP1 x86 dbg warnings C4373 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
[11438/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\config.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11441/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\httpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'
[11442/11751] Building CXX object modules\rosapps\applications\net\roshttpd\CMakeFiles\roshttpd.dir\roshttpd.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\httpd.h(70) : warning C4373: 'CHttpDaemon::OnAccept': virtual function overrides 'CServerSocket::OnAccept', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
        C:\047rls\reactos\modules\rosapps\applications\net\roshttpd\include\socket.h(132) : see declaration of 'CServerSocket::OnAccept'

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-29 19:38:56 +02:00
Joachim Henze
c977ac8a0c [0.4.9][NETREG] Fix 1 MSVC2010SP1 x86 dbg warning C4065 CORE-18104
the warning can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
[11432/11751] Building CXX object modules\rosapps\applications\net\netreg\CMakeFiles\netreg.dir\netreg.cpp.obj
C:\047rls\reactos\modules\rosapps\applications\net\netreg\netreg.cpp(188) : warning C4065: switch statement contains 'default' but no 'case' labels

partial pick of 0.4.15-dev-2951-g 5d8e834897
2022-03-29 18:24:29 +02:00
Joachim Henze
b5ed92682e [0.4.9][D3DCOMPILER_43] Fix 11 MSVC2010SP1 x86 dbg warnings C4133 CORE-18104
can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuation:
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1107) : warning C4133: 'function' : incompatible types - from 'D3D_PRIMITIVE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1110) : warning C4133: 'function' : incompatible types - from 'D3D_PRIMITIVE_TOPOLOGY *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1126) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_OUTPUT_PRIMITIVE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1129) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_PARTITIONING *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1132) : warning C4133: 'function' : incompatible types - from 'D3D_TESSELLATOR_DOMAIN *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1438) : warning C4133: 'function' : incompatible types - from 'D3D_SHADER_INPUT_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1441) : warning C4133: 'function' : incompatible types - from 'D3D_RESOURCE_RETURN_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1444) : warning C4133: 'function' : incompatible types - from 'D3D_SRV_DIMENSION *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1507) : warning C4133: 'function' : incompatible types - from 'D3D_CBUFFER_TYPE *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1603) : warning C4133: 'function' : incompatible types - from 'D3D_NAME *' to 'DWORD *'
C:\047rls\reactos\dll\directx\wine\d3dcompiler_43\reflection.c(1604) : warning C4133: 'function' : incompatible types - from 'D3D_REGISTER_COMPONENT_TYPE *' to 'DWORD *'

picked from 0.4.14-dev-8-g 36d9e80add

( for the record: 0.4.13 got this years ago already via 0.4.13-RC-4-g d27a20233d )
2022-03-29 01:54:04 +02:00