Beta v7.75.345 changes:
1.Item 1, fixed
https://forums.mirc.com/ubbthreads.php/topics/2719962.Item 2, extended.
3.Item 3, fixed
https://forums.mirc.com/ubbthreads.php/topics/2720064.item 4, fixed
https://forums.mirc.com/ubbthreads.php/topics/2720165.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.
Changes:
1.Fixed perform dialog bug when adding/switching between multiple
items.
2.Extended .ogg support to work with other codec libraries.
3.Fixed MDI background picture not using the transparency color when
loading gifs/pngs.
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.