Beta v7.79.1643 changes:
1.Item 12,
https://forums.mirc.com/ubbthreads.php/topics/273312 If "Transparency effects" are enabled, this means that desktop
window titlebars/borders can be a gradient of multiple colors depending
on the background picture. As this cannot be applied to MDI windows,
MDI window titlebars/borders now always use the standard Window theme
non-transparency color.
Beta v7.79.1441 changes:
1.Item 4,
https://forums.mirc.com/ubbthreads.php/topics/273297Beta v7.79.1430 changes:
1.Item 1, added.
2.Item 2,
https://forums.mirc.com/ubbthreads.php/topics/2732003.Item 3, changed.
This change affects how the window region is set for an MDI window.
This previously broke DCX/MDX in some contexts reported here
https://forums.mirc.com/ubbthreads.php/ubb/showflat/Number/268544 but I have changed the method to hopefully avoid that.
4.Item 4, added.
The way the CRT malloc() works for a Win32 application has changed
in Windows 10/11. If a Win32 application repeatedly allocates/frees
a large amount of memory, especially if near the maximum available
to a Win32 application (around 1.7G), malloc() slows down due to
memory fragmentation and then starts to fail, even if all allocated
memory is completely freed, and the only way to recover is to restart
the application. While the majority of users will never come across
this issue, since in normal use mIRC does not use much memory, I
thought I would look at custom memory allocators to see if using
one might help.
I experimented with several custom memory allocators, eg. mimalloc,
jemalloc, dlmalloc, etc. Most modern allocators target large memory,
multi-processor systems, so they're not ideal for single-threaded
Win32 applications with limited memory (around 1.7G) and are
difficult to tune for this purpose. They also tend to hold on to
freed memory for later use without releasing it to the system, even
when trim is used eg. dlmalloc, and are unable to allocate anywhere
near 1.7G, eg. mimalloc stops around 1.2G, jemalloc at 600MB, and
dlmalloc at 1.4G. In addition, many will not compile for XP, or are
linux-focused, or require weird build environments, etc. In tests,
mimalloc worked best overall, and is significantly faster with lower
fragmentation than the system malloc.
This beta still uses the system malloc for now as I need to do
more testing with mimalloc.
5.Item 5,
https://forums.mirc.com/ubbthreads.php/topics/273201 This was happening if 1) you connected to a server, 2) you edited
the server entry while connected, 3) you restarted mIRC, and 4) you
connected through the File menu instead of the Connect dialog or
/server.
6.Item 6, updated.
7.Item 7, added.
8.Item 8, changed.
9.Item 9,
https://forums.mirc.com/ubbthreads.php/topics/273220 I have reviewed the the algorithms for determining contrast between
foreground text and background window colors. The algorithms tested
were: cie76, cie94, ciede2000, WCAG 4.5:1 contrast ratio method using
relative luminance, including different calibrations for
observer/illuminant/gamma/RGB/XYZ/LAB conversions, as well as the
newer APCA measure.
The standard WCAG method for calculating contrast ratio seems fine for
light background colors but not for dark ones. However, when the 4.5:1
or 7:1 ratios are enforced, this rules out almost all colors, limiting
the usefulness of the auto-color feature.
After experimenting with these algorithms again, as well as verifying
their outputs, I decided to use two algorithms that complement each
other, since used alone they were not giving ideal results. I am now
using three tests: the WCAG contrast ratio, YtoLstar, and different
threshholds depending on whether the background color is light/dark.
10.Item 10,
https://forums.mirc.com/ubbthreads.php/topics/273246 It is not clear why this was happening for some users. Switched to
using a simpler method that, although not ideal, performs the same
function.
11.Item 11, updated.
12.Item 12, updated.
Changes:
1.Added Follow Windows Dark Mode option to Display dialog.
2.Fixed custom draw dark mode group box to allow controls to be placed
closer to the edge of the group box without overlap.
3.Updated Windows 10/11 Aero theme support for MDI windows.
4.Updated more routines to use 32/64-bit compatible types as step in
preparing for a 64bit version of mIRC.
5.Fixed server-specific settings not being loaded on startup in some
contexts.
6.Updated OpenSSL library to v3.0.16.
7.Added custom dialog scroll properties pos N and page N to specify the
start position and the page size.
8.Changed Treebar non-focus selected item to use more visible color in
dark mode.
9.Changed how the nickname auto-color feature chooses colors for darker
backgrounds, such as in dark mode, to improve contrast ratio.
10.Fixed DirectShow crash bug relating to sound initialization on
startup that was affecting some users.
11.Updated CA root certificates cacert.pem file.
12.Fixed Windows 11 Aero theme bug when transparency effects are
enabled.