The dark mode is only turned on if Windows 10's own dark mode is
enabled. This manual dark mode configuration is necessary as Qt itself
doesn't support Windows' dark mode yet; see the following bug:
https://bugreports.qt.io/browse/QTBUG-72028
This isn't a problem for other operating systems (Linux, macOS…) as Qt
uses the system colors there and will use dark colors when the
system's colors are set to dark colors, too.
This pulls the fixes for handling Unicode code points >
U+FFFF. Also update the one test case with invalid data which is now
handled slightly differently than before.
Part of the fix of #2516.
avilib doesn't support DV type 1 AVIs at all. It used to print an
error message to standard error; additionally it didn't propagate the
error back to the caller resulting in invalid memory accesses and
subsequent crashes.
Fixes#2491.
It is dangerous insofar as it pollutes an immense number of source
files. For example, utf8cpp's stuff uses relative namespace
names (e.g. `utf8::some_type`). If `using namespace libebml` is in
effect, then this clashes with `libebml::utf8` which is a typedef for
`unsigned char`, causing compiler errors.
libintl.h defines a preprocessor define for `snprintf` with the
content of `libintl_snprintf` if the C library isn't GNU's
glibc. Therefore `std::snprintf` actually becomes
`std::libintl_snprintf` which doesn't exist. This affects e.g. mingw
and macOS.
Due to the addition on new mandatory elements the calculation of default
sizes for void elements is different. Therefore most test cases have had
their checksums updated.
The old revision has a serious memory usage issue. For example, on
Windows a 650 KB JSON file results in memory usage of roughly 2 GB of
allocated RAM that won't be freed anymore.
The updated version doesn't have this problem anymore.
Fixes#1631.