The main motivation to port all that back is to get rid of Win32K-BSODs 0x50 like CORE-13907
that could be triggered by user-mode-applications.
Technical reason was CORE-14857 "RtlImageNtHeaderEx needs SEH" and issues with hooks+callbacks.
All other tickets mentioned in here were regressions that we experienced on the long
journey towards perfecting the fixes on master head, and those were not happening yet in the older builds,
so they are mentioned in here only to allow tracking where that code went into.
Thanks to Jim Tabor, Mark Jansen & Thomas Faber
By squashed backmerge of the following commits:
0.4.15-dev-3440-g a89844f740
0.4.15-dev-3430-g 9cff384c22
0.4.14-dev-1287-g 568b6d0558
0.4.14-dev-1255-g 177ae91bf6
0.4.14-dev-1241-g 915a5764a9
0.4.14-dev-1240-g d8add40e89
0.4.14-dev-1002-g feb7df42b4
JIRA-tickets: CORE-13907, CORE-16769, CORE-14857, CORE-17856, CORE-17857, partially CORE-13019.
We also had some more dupes of CORE-13907 in JIRA, but I linked all of them (transitively)
towards the initial report, and resolved them without setting a fixVer for them.
In more detail:
--------------
[USER32] Fix BSOD 0x50 in 'WineVDM + Castle Of Winds' CORE-17856 CORE-17857
CORE-17856 BSOD 0x50 when starting Castle of the Winds second time, with WineVDM
CORE-17857 BSOD 0x50 on shutdown after closing Castle of the Winds with WineVDM
0.4.15-dev-3430-g 9cff384c22
0.4.15-dev-3440-g a89844f740
--------------
[NTUSER] Fix Strings and Format to Hooks
Allocate heap instead of data segment to be used for callbacks on user side.
Move and correct initial hook call out setup. Use it in more than one hook call.
This fixes issues with strings out of alignment and use of kernel pointers.
See CORE-13907 (HXD-portable BSOD) and CORE-16769 (HXD-portable exception)
Small wow update.
cherry picked from commit 0.4.14-dev-1287-g 568b6d0558
--------------
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857
cherry picked from commit 0.4.14-dev-1255-g 177ae91bf6
--------------
[WIN32SS] Form Sanity to Hook Callbacks
Fix WH_CALLWNDPROC/RET data to user hook calls.
Helps with CORE-13907 "(HXD-portable BSOD)"
Fixes the logging of "(win32ss/user/ntuser/callback.c:748) err: Failure to make Callback! Status 0xc00000fd" within CORE-13019, but not the whole ticket.
cherry picked from commit 0.4.14-dev-1241-g 915a5764a9
--------------
[USER32] Fix null return.
See CORE-16769 "HxD 1.7.7.0 portable unhandled exception"
cherry picked from commit 0.4.14-dev-1240-g d8add40e89
--------------
[WIN32SS] Fix a typo in dbg print
cherry picked from commit 0.4.14-dev-1002-g feb7df42b4
Since more than 10 years we do ship two binaries for the very same purpose in our isos:
msconfig and msconfig_new.
msconfig_new was an attempt to refactor the old tool, but it got stuck rather soon
and is bloating our isos since then, and consuming build-time.
My testing shows that the older version is superior in many ways
compared to that refactoring attempt: see CORE-18067 for examples of some bugs.
Personally I think focusing on the older tool exclusively would make more sense
than trying to improve that refactoring proposal.
But since one never knows what the future might bring and I did not want to step on anyones toes,
I decided to just disable the build and iso-integration of the unfinished one meanwhile,
instead of dumping it entirely. Although my feeling is that after 10years of waiting
it's not worth waiting another 10 years with that.
Fix picked from:
0.4.15-dev-3882-g e6de6098fb
ports back the fixes of:
0.4.15-dev-3886-g c791d4ee4e CORE-18075
0.4.14-dev-1325-g 1fdf06c563 CORE-16792
0.4.14-dev-1324-g 75edf1071a CORE-16792
0.4.14-dev-1323-g d079342e0a CORE-16792
0.4.14-dev-1322-g 7ed0701983 CORE-16791
While respecting the individual requirements of ancient branches,
e.g. when stuff was put somewhere else like the recovery console.
Or when we did not use code7bit yet (we started that with 0.4.12).
Fix the glitch
"Wenn nur eine nur einzige Leitung verbunden ist"
to
"Wenn nur eine einzige Leitung verbunden ist"
which was introduced by
SVN r67570 == git 8ad8574f4b
and a few other small glitches.
fix picked from:
0.4.15-dev-3878-g d9f156e9a8
by picking those two commits:
0.4.12-dev-363-g 473e0bfc83
0.4.12-dev-779-g 3b96148641
Although the regression that was introduced by 0.4.12-dev-363-g 473e0bfc83
and then fixed by 0.4.12-dev-779-g 3b96148641
did never affect any release, the older releases do still benefit from those 2 commits applied together:
The status bar consists of 3 sections:
"processes count"
"CPU load"
"Commit charge"
"Commit charge" is extremely dynamic in length, therefore we can improve the usability a bit by maximizing available space for it.
"processes count" also deserves a bit more space, otherwise even 3-digits-count would be cropped in english already.
"CPU load" is most defined in length, as the only dynamic part in there is 0% to 100%, just 2 digits.
Therefore we do sacrifice a bit space from "CPU load" section in favor of the other sections.
See https://jira.reactos.org/secure/attachment/61659/ros_taskmgr_BEFORE_mostCompact.png for a pic before this backmerge.
by picking the following commits:
0.4.15-dev-413-g ed7196d964 [TASKMGR] Remove 'Debug Channels' feature, which is Wine-specific
0.4.15-dev-2488-g fd4d8f550c [TASKMGR] id-ID.rc, just the single line in this module
Fix a resource compiler 'warning RC4206 : title string too long; truncated at 256'
when building with MSVC2010SP1.
by porting back a single line from:
0.4.12-dev-920-g 8fb10879fc The string shortening
and a single line from the whitespace-addendum:
0.4.15-dev-3152-g bbabe2489e
It "regressed" by 0.4.9-dev-632-g da6a46c6ac when zipfldr.dll got registered.
Ftr: Even without this complex fix it was possible to workaround this bug by 'regsvr32 /u zipfldr.dll'.
by porting back:
0.4.15-dev-279-g 83a9f71690 CORE-16908 [SHELL32] Allow creation of an empty CFileSysEnum
0.4.15-dev-254-g 332889b8d7 CORE-16908 [COMDLG32] Differentiate between real and virtual folders
0.4.15-dev-252-g f379a29606 CORE-16908 [SHELL32][SDK] Properly enumerate virtual shell folders (on files) as fake folders
0.4.15-dev-251-g b1003ae909 CORE-16908 [SHELL32] Update CFileSysEnum to be maintaineable
0.4.15-dev-250-g ac215455bb CORE-16908 [SHLWAPI] Fix SHRegGetCLSIDKeyW
and we also need:
0.4.14-dev-73-g 5d54b65ceb CORE-16271 [SHELL32] Add support for custom View objects defined with UICLSID
This is a big backport, that brings us closer to releases/0.4.14/0.4.14-release-10-g1b0b852
The main motivation is to fix the three regressions:
CORE-17351 'RunDlg fails calling URL without http'
and
CORE-16898 'RunCommand "iexplore" fails to open Wine IE'
and
CORE-15431 'RunDlg variable expansion not longer working'
All 3 regressed by 0.4.10-dev-419-g bfcbda227f
By porting back the following commits:
0.4.15-dev-2883-g 33c7c91b36 CORE-17351 CORE-16898 (#3797) Improve performance of Start-Run Dialog Box Options
0.4.14-dev-1016-g 4e721f780e CORE-12266 (#1854) [SHELL32] This fixes the ERROR_DDE_FAIL in the 'www.google.de' testcase
0.4.13-dev-790-g 0f16d44b66 CORE-6412 + CORE-12927
but in return we have to fix all the callers of ShellExecuteW() that relied on this ancient hack-code, and we do this by picking
0.4.13-dev-930-g cb77f1701f CORE-16299 [SHELL32][STOBJECT] ShellExecuteW() params part2
0.4.13-dev-860-g 944aba1fcc CORE-16299 [SHELL32] ShellExecuteW() params part1 (#1833)
0.4.12-dev-94-g 932a812c66 CORE-15434 [SHELL32] shlexec.cpp UNICODE_NULL Add backslash if path was like C: (#1152)
0.4.12-dev-49-g fad9f6677a CORE-15434 [SHELL32] dialogs.cpp (#1117) Addendum
0.4.12-dev-48-g c64d31e9b8 CORE-15434 [BROWSEUI] Add backslash for directory (#1121) C: C:\
0.4.12-dev-36-g 472787ffea CORE-15431 (#1117) Crash on %SYSTEMROOT% (yes, this was already within 0.4.11)
0.4.12-dev-19-g 06d717e3bc CORE-15431 (#1111) Enable Environment Variables (yes, this was already within 0.4.11)
[USER32] GetQueueStatus() should not return 0 when passing QS_ALLINPUT flag that includes QS_RAWINPUT (#4115)
GTK applications call GetQueueStatus(QS_ALLINPUT), where QS_ALLINPUT
specifies the QS_RAWINPUT flag as well, when these are compiled for
Windows XP+, and they expect the call to succeed on this platform.
On one side, ReactOS does not currently support this flag at all, but
since it claims to be XP/2003-compatible, applications may implicitly
expect the flag to be supported by GetQueueStatus() and the function
*NOT* failing when this flag is set.
(Later GTK apps don't care and just call GetQueueStatus(QS_ALLINPUT)
that includes QS_RAWINPUT, and therefore would fail as well on e.g.
Windows 2000...)
Otherwise, an observable effect is that some versions of libgdk-win32-2.0.0.dll
enter into an infinite loop when calling GetQueueStatus(QS_ALLINPUT),
since this call always failed on ReactOS.
On the other side, however, we should honour our winetests that handle
the presence of the QS_RAWINPUT flag and behave differently accordingly.
But since we do not support QS_RAWINPUT yet, we should keep their old
behaviour where QS_RAWINPUT is unused.
Thus, in order to accomodate both sides, we don't fail the GetQueueStatus()
call, but just set the ERROR_INVALID_FLAGS last error and continue it.
This fixes:
'All user32:TrackMouseEvent tests'
CORE-15686: Gimp 2.8.22 from rapps hangs after startup with 90%-100% CPU usage
and many dupes of that ticket like:
CORE-17551: Ardour hangs at the first start (GTK2 issue)
CORE-15151: newer "Inkscape 0.92.3" is unusable due to WIN32SS message queue lockup
CORE-14086: RawTherapee 5.0-r1-gtk2 fails to start (using 100% CPU)
CORE-11850: Geany 1.28 hangs with endless MsqSendMessage timed out
CORE-8475: Wireshark hangs after launch
It will also slightly appease, but not entirely fix:
CORE-8217: 3D Text ScreenSaver freezes system
Fix picked from 0.4.15-dev-3407-g 9c4397afdf
---------------------
[NTUSER] Do not remove message from the Msg Queue if it is not for us. (#4129)
CORE-8217 This part of the fix keeps the buttons working (Cancel/Ok/top-Right-X) even under high CPU-load
Patch from 'I_Kill_Bugs' contributor.
Fix picked from 0.4.15-dev-3499-g 7d1b50394b
---------------------
[3DTEXT] Fix 3dtext.scr using near 100% CPU (#4125) CORE-17866, CORE-8217
Fix picked from 0.4.15-dev-3443-g 5c9fdcb1de
It popped up very reliably when performing git-clone of the ros sources
while having the taskmgr open in the processes-tab.
Or when building 'ninja bootcd -j1' while having the taskmgr open in the processes-tab.
It is always possible to ignore it and then continue using ros for days without
noticing any side effects.
James Tabor judged the assert to have a "questionable logic".
Giannis who once added it, was also ok with commenting it.
His words:
This assertion isn't something fatal,
the worst thing that can happen from continuing on it would be
to make the thread get awake more times than it should.
The assert was once added by SVN r63880 == git 9ad857369a
Fix picked from:
0.4.14-dev-1519-g 87f6c82d85 commenting 2020-04-21
0.4.15-dev-3780-g bf16435303 removal 2022-02-05
warning RC4206 : title string too long; truncated at 256
by providing shorter translations.
We had 24 such warnings in this module
fix picked from:
0.4.15-dev-3739-g ff9301e9db
0.4.15-dev-3748-g 6a496c3991
Add missing structs and handler in BCryptOpenAlgorithmProvider().
Fixes CORE-16741 and similar problems.
The modern internet is not waiting for ReactOS, needed to keep the RAPPS URLs working.
fix picked from:
0.4.15-dev-3603-g e0a47b7b5f [BCRYPT] Add BCRYPT_ECDSA_P256_ALGORITHM
We did strip that superfluous "Operating system"
during 0.4.15-dev'ing to prevent line-overflow when
we added the target platform to the version string.
picked from 0.4.15-dev-1605-g ab45955a5a
Recently I found out that the git hashes will also become
longer when there is hash collision. So the shortening adds to
safety also for the old branches.
While touching those RCs do also pick:
0.4.15-dev-2336-g d3fc345730 [CMD] de-DE: Fix 'Paramater' typo
0.4.14-dev-1446-g cd5364ae8e [CMD] pl-PL.rc the line Wersja
and some EOL-whitespace stripping and the parts targetting [CMD]-only! from
0.4.14-dev-1037-g 554c41e4d7 [CMD] " \n"->"\n"
0.4.14-dev-1142-g 92aabb07fb [CMD] " \n"->"\n"
Fixes drawing of caption bar buttons (min/max/close in Mozilla Firefox titlebar when its menubar is disabled).
See CORE-8808.
The fix is a partial port of 0.4.14-dev-1314-g acf135d16d
I left out all changes to the logging and took only the essence of this patch.
The motivation to upgrade this host-tool is to fix a compile-time warning:
[4890/10620] Generating boot/bootdata/...oot/bootdata/system, boot/bootdata/BCD
Binary hive maker
->RegDeleteKeyW(0x0xcab210, '') is UNIMPLEMENTED!
[145/10684] Generating boot/bootdata/BCD
Binary hive maker
Creating binary hive: /home/jhenze/Release_WorkDir/Repo/output-MinGW-i386/reactos/boot/bootdata/BCD
Thw warning was most likely introduced when we started using mkhive in the hosttools, and is triggered
by livecd.inf having a [DelReg] section.
Warning fixed by implementing RegDeleteKeyW().
It can not delete full trees yet, but we also don't need that for our mkhive-usage yet.
While touching it, do also fix some other minor glitches and leaks.
This is a PARTIAL backport of the 15 commits from 0.4.11-dev, all to mkhive from 2018-10-09 to 2018-10-20.
All releases/0.4.8 until and including releases/0.4.14 were affected by the following logspam
during shutdown:
(../ntoskrnl/mm/section.c:4839) SectionObject has ImageSection
triggered 2 times for bootcd, but triggered 83 times for livecd.
Today I found out by chance, that we started to trigger it with the switch from CDFS to CDFS_NEW with
0.4.8-dev-164-g ec6b3ecbe4
We 'suffered' from that logspam for many years now and it did never help us in any way.
And during 0.4.15-dev'ing with the MM rewrite, the logging was entirely removed in the NTOSKRNL.
As the dialog simply displays the copyright names and nothing particular it makes sense to use ShellAboutW() instead.
Several fixes ported back:
0.4.15-dev-3726-g c262020016 README CORE-18018
0.4.15-dev-3724-g 3a7c0d82d2 size fallback part 1 CORE-18018
0.4.15-dev-3569-g b5a6357d93 available.h/.cpp Strip 3 useless functions
0.4.15-dev-384-g 393a2c42fe CDPath in README
0.4.15-dev-227-g a6084d7440 ShellAbout() (#2751)
and some whitespace corrections, especially in cabinet.cpp
The regression was introduced by SVN r68553 == git 3b13364f05
Many thanks to the author Doug Lyons for excellent
cooperation once more. Always a pleasure.
Fix cherry picked from commits:
0.4.15-dev-663-g cd7db5df89 and
0.4.15-dev-664-g 7c909cbc7c
My main motivation was a fix for the bug
CORE-17815 'Fix incorrect opaque text rendering' (#2760)
which was unhidden by 0.4.12-dev-824-g d57f7becc3 .
That specific and most important fix
was picked from 0.4.15-dev-190-g d839e3d9b4
We left out the additional WIN32SS-hardening in this context in the backport to older
releases for now.
Then I looked further in sndrec32 and compared each file of that module on master
head with both: current 0.4.14RC and also current 0.4.7rls and found the rare
situation that I liked each and every change within since 2017.
Specifically this will also backport (#2754), and various translation PRs, whitespace-cleanup,
and (for older releases than 0.4.14RC) it will also bring some x64-improvements.
So I decided to take everything from current master head except the changes in CMakeLists.txt
because that subset is applicable and a win for all ros releases down to 0.4.7.
Fix picked from:
0.4.15-dev-3699-g b1264c13f7 for el-GR.rc
0.4.15-dev-3700-g 98999eebe4 for sk-SK.rc
0.4.15-dev-3701-g bacc0479ce for sq-AL.rc
The pt-PT.rc file (also affected on master) did not exist in this ancient branch yet.
LOAD_LIBRARY_AS_IMAGE_RESOURCE and LOAD_LIBRARY_SEARCH_SYSTEM32 are Vista+
This fixes some blurry icons in systray when 2k3sp2 kernel32.dll is used in ros CORE-12004
That part in user32 was a regression of SVN r71609 == git a44dfe6c76
While we are at it we do fix some other modules as well, that used those NT6+flags.
The fix was picked from 0.4.15-dev-788-g a04831677e
Fixes gdi32:dib / gdi32:bitmap tests and
CORE-16236 "SIMS graphics", which regressed by
SVN 51005 == git 2bbd8711a7
Thanks to the patches author Doug Lyons.
It also fixed
CORE-16621 Kompozer 0.7.10 from rapps, exe does not show an icon, but does on 2k3sp2
fix picked from 0.4.15-dev-2850-g 847b037fe9
--------------
By taking the above, we also have to pick its addendum
[WIN32K] Fix 'use after free' in NtGdiStretchDIBitsInternal #4122 CORE-17861
0.4.15-dev-3420-g b538b9abb8
to avoid introducing another bug:
CORE-17861 MS Visual Studio 2010 Pro Fatal System Error 0x00000050
--------------
[WIN32K] Don't trust the BITMAPINFOHEADER size
This is not entirely correct yet, but less wrong than before and fixes
CORE-16031 Moo0 Audio Recorder - ReactOS icons are not displayed in the system tray
fix picked from 0.4.14-dev-848-g 53c9a6deaa
Revert part of SVN R50928 that causes Durak card suites to have wrong colors.
SVN r50928 == git 5de8339cd1
JIRA issue: CORE-13748 <= Durak Example
JIRA issue: CORE-16510 <= GDIProg Example
The idea was picked from 0.4.15-dev-2735-g c7954134d0
but I was too shy to port the recurrently spamming and slowing DPRINT1 back that far.
Spamming on master should be enough to improve here later.
CORE-16742 'Start button background in themes is scaled incorrectly' (especially MS Luna)
The problem once was unhidden by
0.4.7-dev-705-g 85ae842105
Fix picked from 0.4.15-dev-3441-g 67ad4e7f60
This prevents the tracking menu from erroneously closing itself right after it was opened in some cases.
Fixes CORE-17338 which got unhidden by 0.4.15-dev-1126-g 58b0558f94
And fixes CORE-15760 which got unhidden by SVN r74972 == git 19dd22d422
Since both symptoms look very similar but the unhiding revisions did differ,
that could mean we do have some kind of race condition here.
I guess this fix is more like a workaround.
2 Fixes picked:
0.4.15-dev-3313-g 6417b2323d [NTUSER][USER32] Workaround tracking menu on CORE-17338 CORE-15760 (#4048)
to prevent the menu from auto-closing
and
0.4.15-dev-3297-g 037c744eb1 [EXPLORER] Send WM_POPUPSYSTEMMENU asynchronously CORE-16353 (#4047)
to make the taskbar button turn into pressed state when the menu opens
This will avoid triggering a FAT repair on
unclean FAT volumes.
If dosfstools.fsck works fine in Linux, its
usage on ReactOS triggers worse corruption
than unclean shutdown.
'autochk during OS startup' has been added during 0.4.9-dev-xxxx.
Given I've no time for debugging this, I
kill it off. This is just a workaround of course.
For now the best chances to repair a FAT FS corruption after non-clean-shutdown
is to mount that FS within 2k3sp2 and give the MS chkdsk an attempt to repair it.
Success is not guaranteed, but it works surprisingly often.
The earlier you do that after non-clean-shutdown,
the better your chances for success will be.
The workaround was picked from
0.4.13-dev-169-g ab69736a1d
I am not sure why this line in id_queue.cpp was added.
I don't know how I could improve that case.
Then, disable it, for the time being.
It regressed by 4b9cf2e339 (r71252). CORE-12441 CORE-17371
fix picked from 0.4.15-dev-2740-g ba77a09c04
While touching uniata do also PARTIALLY port back some bm_devs.h changes:
0.4.15-dev-1522-g 88d36c93a2 (Properly mark ReactOS diff from upstream)
in CreateDIBPalette() when passing invalid arguments to CreateDIBSection.
This could be triggered by using the broken test-application "GDIProg".
After this patch not only the BSOD is fixed but also the app does
properly start up, like it is the case on 2k3sp2.
The problem was unhidden by the innocent and unrelated 0.4.12-dev-266-g 8ab3652c01
I was not able to trigger the bug in releases older than 0.4.12,
but it is rather obvious that the mentioned revision is not really 'guilty', which
is why I will port the fix back further into releases even older than 0.4.12 as well.
Thanks to the patches author Doug Lyons.
a squashed port of:
0.4.15-dev-2734-g 514147776a (fixes the BSOD)
0.4.15-dev-2775-g c596fd3ef6 (improvement #3758)
0.4.15-dev-2776-g 4130f0b1c5 (compilation fix)
and some white-space tweaking that was committed after those.
This was part of the commits for ROSTESTS-110, but much more important:
It fixes CORE-14694 "reproducible BSOD 0x1A MEMORY_MANAGEMENT in OllyDbg v2.01"
Fix picked from 0.4.11-dev-650-g 47ac7a2b28
which also requires me to "Move up MmAlterViewAttributes() for later use in MmNotPresentFaultSectionView()"
like it was done in: 0.4.11-dev-649-g 47ac7a2b28
Ofc I moved the function up individually in each branch I do port this back to, without modifying the func.
Changes to specific files and their effects are as follows:
create.cpp - Allows booting past second stage with UDFS media inserted without BSOD
close.cpp - Allows shutdown without hang
dircntrl.cpp - Allows New Hardware Wizard not to hang on initial third phase install
It began to crash with the introduction of the UDFS driver in SVN r74901 == git 3a104c8f20
Fix picked from 0.4.15-dev-3326-g a91f5e8e4d
MSVC2010 compiler warning shellext\netshell\lang/de-DE.rc(118) : warning RC4206 : title string too long; truncated at 256
introduced by SVN r71434 == git 6ce8ee357a
The string was displayed properly and was not truncated even before this patch.
Fix picked from 0.4.15-dev-2885-g 7962db4cc1
Fix missing ReleaseDC related to the spectrum (color depth)
We leaked one device context for each bpp change within the
desk.cpl-session, which gave the following logging when closing desk.cpl:
(win32ss/user/ntuser/windc.c:749) err: [00060138] GetDC() without ReleaseDC()!
1 time for each leak.
Partial backport of (#2707)
Fix picked from 0.4.15-dev-2867-g d635ce0cc0
* CORE-5823 Fix icons for toolbar and formatbar in Wordpad.
which regressed by SVN r47776 == git 5dbfbb5201
* Add wordpad_ros.diff noting toolbar.bmp and formatbar.bmp are not wine-synced
Thanks to the patches author Doug Lyons.
Fix picked from 0.4.15-dev-2862-g e068c68452
Display the shutdown message popup dialog on the current input desktop,
and periodically monitor for any change of the input desktop. When the
latter changes, close the dialog and recreate it on the new input desktop.
In addition, retain the current dialog position and restore it when the
dialog is recreated on the new desktop.
A patch authored by HBelusca.
The regression was introduced by 0.4.10-dev-579-g
c697f191cf
This commit is merging back the changes of 0.4.15-dev-1096-g
0ff9b0ff7e
(the minimized patch from JIRA avoiding most surrounding style changes)
Reported by contributor 'qarmin', found by static code analysis.
CORE-17074
The glitch once was introduced 7 years ago by SVN r58933 == git 7934e35cdf
There is no real-world-issue known to date caused by this bug.
fix cherry picked from commit 0.4.15-dev-303-g 99d0a348aa
GetIconInfo() fill info.hbmColor with NULL HBITMAP handle on black/white bitmaps.
CORE-17062
It broke by 0.4.9-dev-719-g b3fb8555bf
fix is squashed port of 2 commits:
0.4.15-dev-534-g 887764e607 (fix)
0.4.15-dev-2705-g a3cadf630a (nitpick)
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.
cherry picked from commit 0.4.15-dev-1085-g c947eb4d17
IDD_BROWSE_FOR_FOLDER displays text controlled by the calling applications in
IDC_BROWSE_FOR_FOLDER_TITLE. Its old height could lead to text truncation
for existing 3rd party apps.
The new height value for IDC_BROWSE_FOR_FOLDER_TITLE
was inspired by IDC with the same from dialog IDD_BROWSE_FOR_FOLDER_NEW.
I could change all languages to the same height,
as dimensions of the dialog and surrounding controls were same.
picked from 0.4.12-dev-781-g 1d7287288d
It "regressed" and was displayed cut-off since the switch to git
(our string got longer back then).
Fixed by porting back 2 commits:
0.4.14-dev-976-g 6ce72ba172
0.4.14-dev-884-g a57f7b50c0
and also port back some german translation updates and
trivial whitespace fixes at the same time in *.rc.
Although the new layout that I committed in the previous commit
was favored by community ratings votes 8:0,
some devs still preferred the old layout with the bigger logo
because they liked the easteregg. So this commit restores
that.
But it syncs to that features latest&greatest implementation
we have in 0.4.15-dev-1685-gd0c237a instead of reverting the
previous commit to not unnecessarily have many bugs with it
that were still affecting the older releases beforehand.
Aside from the general tabs dialogs layout this commit does
also fix some minor issues in the translations for the oldest
branches in pl-PL, jp-JA, zh-CN and zh-TW.
And it fixes an x64 issue in general.c for 0.4.7 and 0.4.8.
The version string cutoff started to happen when we switched from SVN
with its short revision number to git with the longer hashes.
0.4.7-dev-502-gc2c66af was the first git-only rev (2017-Oct-03)
and brings the dialogs layout closer to XP.
Also fixes some other truncations for specific languages.
And unifies the touched text controls sizes for all languages.
The credits have been moved to readme.txt where they are more present and
we can avoid having to groom all languages files each time we want to add
a new dev (and sysdm.cpl to grow each time). Less maintenance.
sysdm.cpl binary size I18N=all
master before 925.696bytes after 705.024bytes gcc 8.4.0 dbg RosBE2.2.1
0.4.14 before 923.136bytes after 702.464bytes gcc 8.4.0 dbg RosBE2.2.1
0.4.13 before 904.192bytes after 684.544bytes gcc 4.7.2 dbg RosBE2.1.6
0.4.12 before 881.664bytes after 665.600bytes gcc 4.7.2 dbg RosBE2.1.6
0.4.11 before 836.096bytes after 618.496bytes gcc 4.7.2 dbg RosBE2.1.6
0.4.10 before 806.912bytes after 588.800bytes gcc 4.7.2 dbg RosBE2.1.6
0.4. 9 before 788.480bytes after 585.728bytes gcc 4.7.2 dbg RosBE2.1.6
0.4. 8 before 788.480bytes after 585.728bytes gcc 4.7.2 dbg RosBE2.1.6
0.4. 7 before 788.992bytes after 585.728bytes gcc 4.7.2 dbg RosBE2.1.6
readme.txt still fits into a single NTFS cluster afterwards with 3702bytes
Also a very! soft update of some translations ported back.