Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11

Also works around a Visual Studio 2017 bug where static inline class fields are destructed multiple times
This commit is contained in:
Silent
2019-06-23 19:26:07 +02:00
parent 5262f39026
commit 6c21811090
11 changed files with 16 additions and 25 deletions

View File

@ -300,7 +300,7 @@ void GeneralPane::OnSaveConfig()
#if defined(USE_ANALYTICS) && USE_ANALYTICS
Settings::Instance().SetAnalyticsEnabled(m_checkbox_enable_analytics->isChecked());
DolphinAnalytics::Instance()->ReloadConfig();
DolphinAnalytics::Instance().ReloadConfig();
#endif
settings.bCPUThread = m_checkbox_dualcore->isChecked();
Config::SetBaseOrCurrent(Config::MAIN_CPU_THREAD, m_checkbox_dualcore->isChecked());
@ -325,8 +325,8 @@ void GeneralPane::OnSaveConfig()
#if defined(USE_ANALYTICS) && USE_ANALYTICS
void GeneralPane::GenerateNewIdentity()
{
DolphinAnalytics::Instance()->GenerateNewIdentity();
DolphinAnalytics::Instance()->ReloadConfig();
DolphinAnalytics::Instance().GenerateNewIdentity();
DolphinAnalytics::Instance().ReloadConfig();
ModalMessageBox message_box(this);
message_box.setIcon(QMessageBox::Information);
message_box.setWindowTitle(tr("Identity Generation"));