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.
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
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
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()
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
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
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
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.
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
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)
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
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
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.
- 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
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.
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.
- 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
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
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
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
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
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.
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.
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.
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
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)
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.
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.
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.
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
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)
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
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
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
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.
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.
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
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
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%.
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.
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)
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
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
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