Beta v7.75.619 changes:
1.Item 7, https://forums.mirc.com/ubbthreads.php/topics/272043
2.Item 8, https://forums.mirc.com/ubbthreads.php/topics/272068
3.Item 9, updated.
4.Item 6, the way math/float exceptions are triggered has changed
for some math functions in Visual Studio 2017, causing issues
in some features, eg. $invmod(), so these have had to be handled
differently. This beta passes all of my bigfloat tests.
5.Item 10, fixed. This change might result in other $base() rounding
issues and may need to be reverted. Needs testing.
6.Item 11, enabled.
Beta v7.75.345 changes:
1.Item 1, fixed https://forums.mirc.com/ubbthreads.php/topics/271996
2.Item 2, extended.
3.Item 3, fixed https://forums.mirc.com/ubbthreads.php/topics/272006
4.item 4, fixed https://forums.mirc.com/ubbthreads.php/topics/272016
5.Item 5, fixed.
6.Item 6, needs testing.
This required recompiling OpenSSL, LibZip, TagLib, MAPM, PCRE,
and several other external libraries.
The reason for switching is that staying with Visual Studio 2008 is
limiting options in terms of usable external libraries, as well as
code examples, which use newer versions of C++. Some currently used
libraries are also moving away from supporting older Visual Studio
versions. Visual Studio 2017 is the last version that supports the
141_xp toolset for XP support. The XP toolset has been removed
from later Visual Studio versions.
The first major issue I came across is a bug in the v141_xp toolset
stat() runtime function that causes random freezes and incorrect
file handling on XP. Microsoft knows about this bug but has not
fixed it. I previously experimented with replacing stat() with
GetFileAttributesEx(), so enabled that code to resolve this issue.
However, the issue will also be present (on XP) in any external
libraries that use these functions. Currently, only LibZip uses
stat()/fstat() but the source files using these functions can be
excluded from the compilation.
1.Fixed perform dialog bug when adding/switching between multiple
2.Extended .ogg support to work with other codec libraries.
3.Fixed MDI background picture not using the transparency color when
4.Fixed /toolbar -p bug that was not freeing the previously loaded
icon when replacing a button.
5.Fixed Aero theme bug that displayed inner border artifacts in some
contexts when a window is first created.
6.Now using Visual Studio 2017 to compile mIRC. Required converting
all solutions, including all external libraries, and recompiling
with the v141_xp toolset to maintain Windows XP support.
7.Fixed custom dialog mnemonics bug in tab controls.
8.Fixed $sslversion/$ssldll version bug.
9.Updated OpenSSL library to v3.0.11.
10.Fixed $base() floating point conversion bug.
11.Enabled Control Flow Guard runtime security checks.