QRandomGenerator was introduced in 5.10 and qrand has since been
deprecated. QRandomGenerator::global() returns a global instance that
has been securely seeded. QRandomGenerator provides methods that
generate values within ranges, so taking a modulus of the result isn't
necessary.
Add a slot that is invoked when the main application loop starts. This
can be used to perform setup tasks after the initialization has
occurred. Initial use is to hide a splash.
Protobuf 3.15 adds a namespace alias for "pb" that conflicts with
Clementine's. Modify Clementine to use "cpb".
Patch provided by @ahesford
Reference: 5c028d6cf4/src/google/protobuf/port.h (L44)
Nvidia force close from 2011. Last driver version affected was 304.37, 304.83 is the last in the series and is from 2013.
macOS Soundcloud certificate - CA exists in the system bundle.
macOS font issue from 2013
Gnome volume control with Glib older than 2.36 - Debian Jessie, oldoldstable repo has 2.42
Clementine detects a data directory in the same directory as the executable to
determine portable configuration. But there are some packages that create
/usr/bin/data, causing Clementine to run in portable mode.
Use a more unique data directory name, clementine-data, as the portable data
directory. For backwards compatibility, use the legacy data directory if the
already exists there.
Apparently this was introduced in 2011 as a workaround to solve a problem in
libimobiledevice. However already in 2013 the problem was solved
in libimobiledevice:
b811fbb05b
Instead of immediately saving, which leads to poor performance,
and possible hardware damage (see #6057), limit saves to once
per second (similar to how KDE does it). It also guarantees
that only one save is required per second, by sharing a QSettings
object, and establishes a signaling framework to put other
setting save events into (but only uses this for the two major
offenders: playlist tab switching and window resizing).
This is in contrast to 6a312e7, which simply deferred the save
until program exit, and caused problems for some people (see #6217
and #6209).
Signed-off-by: Antonio Russo <antonio.e.russo@gmail.com>
In 2011, there was a bug that caused NVIDIA drivers to hang
Clementine on shutdown. In 2012, only some drivers had the
fix for this issue. Now, in 2019, we do not need to work
around this bug. By reverting commit
c2723008a2
we work around known bad drivers, but do not penalize all
NVIDIA users for this ancient bug.
Lastfm needs a NetworkAccessManager which is created during the
initialization of lastfm in main.cpp, it also sets a cache directory.
For the portable version, GetConfigPath uses
QCoreApplication::applicationDirPath() to get the current directory of
Clementine. If no QApplication (or QtSingleApplication in Clementines
case) was instantiated, it returns /data on Linux or C:\data on Windows
for the cache config path.
This commit changes the order so lastfm will be initialized after
QtSingleApplication was created and the correct cache config path will be
returned.
Fixes#5354
* Do not restore playback state on application start if overwritten by command line options
This also fixes unwanted pausing if a new instance is started with commandline URL combined with playback restore.
Note that the actual buggy code (MainWindow::ResumePlayback()) is not fixed here.
* Fix for commandline URLs for new instances are always appended to playlist.