* crypto-utils: do tr_rand_int without abs
There is really not much point in trying to abs a random int when you can just interpret it as unsigned in the first place.
* fixup! trailing space
how did this get in here?
* fixup! unsigned int
Co-authored-by: Charles Kerr <charles@charleskerr.com>
* chore: fix markdown headers in NEWS.md
* chore: turn closed pulls/issues into links
* chore: linkify the release headers
* chore: fill in the 3.00 release date
* chore: use 'NEWS.md' in build scripts
* chore: tweak date format to YYYY-MM-DD
GTK client: none.
Qt client: Japanese.
Mac client: none (there're suitable languages, but they're lacking XIB files
and we haven't switched to base localization yet).
* perf: lazy-update actions enabled on change events
Actions' sensitivity was being lazy-updated in response to other events
but accidentally were doing immediate updates in response to torrentsChanged
signals being emitted from TorrentModel. This commit makes that path a
lazy-update as well.
* chore: uncrustify
* refactor: make the idle updater a lambda again
Previously it was calculated from `log10(1.0 / DBL_EPISILON) - 1`;
however, there's no need to calculate it out when there's an ANSI
standard that already spells it out consisely.
In libtransmission/variant.c, function tr_variantWalk, when the variant
stack is reallocated, a pointer to the previously allocated memory
region is kept. This address is later accessed (heap use-after-free)
while walking back down the stack, causing the application to crash.
The application can be any application which uses libtransmission, such
as transmission-daemon, transmission-gtk, transmission-show, etc.
Reported-by: Tom Richards <tom@tomrichards.net>
* Add EDIT_DATE torrent property declaration (Qt client)
Switch to static assertion to help avoid similar issues in the future.
* Only declare std::hash<QString> for Qt < 5.14
* Pass main window as context when connecting lambdas to torrents model signals (Qt client)
This helps to automatically disconnect from signals on main window
destruction. If not done, use after free is possible since main window is
destroyed before torrents model.
Fixes: #1106
Reduce `nl_(before|after)_class` from 2 to 1 to avoid needless newlines added
between class forward declarations (which is a shame, I liked the old behavior
more).