From 7ff20362f58bb2cbdf64545b375090e02a4ae504 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 20 Apr 2022 14:18:00 +0300 Subject: more fixes for #3066 --- plugins/PluginUpdater/src/DlgUpdate.cpp | 20 ++------------------ plugins/PluginUpdater/src/Options.cpp | 6 +++--- plugins/PluginUpdater/src/PluginUpdater.cpp | 5 +++-- plugins/PluginUpdater/src/Utils.cpp | 7 ++++--- plugins/PluginUpdater/src/stdafx.h | 4 +--- 5 files changed, 13 insertions(+), 29 deletions(-) (limited to 'plugins/PluginUpdater') diff --git a/plugins/PluginUpdater/src/DlgUpdate.cpp b/plugins/PluginUpdater/src/DlgUpdate.cpp index 2fa5769cfd..ff79f7356f 100644 --- a/plugins/PluginUpdater/src/DlgUpdate.cpp +++ b/plugins/PluginUpdater/src/DlgUpdate.cpp @@ -122,21 +122,6 @@ LBL_Error: if (g_plugin.bBackup) CallService(MS_AB_BACKUP, 0, 0); - - if (g_plugin.bChangePlatform) { - TFileName mirandaPath; - GetModuleFileName(nullptr, mirandaPath, _countof(mirandaPath)); - g_plugin.setWString("OldBin2", mirandaPath); - - g_plugin.delSetting(DB_SETTING_CHANGEPLATFORM); - } - else { - ptrW oldbin(g_plugin.getWStringA("OldBin2")); - if (oldbin) { - PU::SafeDeleteFile(oldbin); - g_plugin.delSetting("OldBin2"); - } - } } // 5) Prepare Restart @@ -447,9 +432,8 @@ LBL_Error: Skin_PlaySound("updatecompleted"); g_plugin.bForceRedownload = false; - g_plugin.bChangePlatform = false; - g_plugin.delSetting(DB_SETTING_CHANGEPLATFORM); - g_plugin.setByte(DB_SETTING_NEED_RESTART, 1); + g_plugin.bNeedRestart = true; + g_plugin.bChangePlatform.Delete(); if (g_plugin.bBackup) CallService(MS_AB_BACKUP, 0, 0); diff --git a/plugins/PluginUpdater/src/Options.cpp b/plugins/PluginUpdater/src/Options.cpp index c5d0b52def..77ba888162 100644 --- a/plugins/PluginUpdater/src/Options.cpp +++ b/plugins/PluginUpdater/src/Options.cpp @@ -146,7 +146,7 @@ public: { chkPlatform.SetState(g_plugin.bChangePlatform); - if (g_plugin.getByte(DB_SETTING_NEED_RESTART, 0)) + if (g_plugin.bNeedRestart) ShowWindow(GetDlgItem(m_hwnd, IDC_NEEDRESTARTLABEL), SW_SHOW); spinPeriod.SetPosition(g_plugin.iPeriod); @@ -254,9 +254,9 @@ public: if (chkPlatform.GetState()) { g_plugin.bForceRedownload = bStartUpdate = true; - g_plugin.setByte(DB_SETTING_CHANGEPLATFORM, g_plugin.bChangePlatform = 1); + g_plugin.bChangePlatform = true; } - else g_plugin.setByte(DB_SETTING_CHANGEPLATFORM, g_plugin.bChangePlatform = 0); + else g_plugin.bChangePlatform = false; // if user selected update channel without symbols, remove PDBs if (bNoSymbols) { diff --git a/plugins/PluginUpdater/src/PluginUpdater.cpp b/plugins/PluginUpdater/src/PluginUpdater.cpp index cde00d9eb2..71d9992092 100644 --- a/plugins/PluginUpdater/src/PluginUpdater.cpp +++ b/plugins/PluginUpdater/src/PluginUpdater.cpp @@ -52,9 +52,10 @@ CMPlugin::CMPlugin() : bBackup(MODULENAME, "Backup", false), bSilentMode(MODULENAME, "SilentMode", false), bAutoRestart(MODULENAME, "AutoRestart", false), + bNeedRestart(MODULENAME, "NeedRestart", false), bOnlyOnceADay(MODULENAME, "OnlyOnceADay", true), bUpdateOnPeriod(MODULENAME, "UpdateOnPeriod", false), - bChangePlatform(MODULENAME, DB_SETTING_CHANGEPLATFORM, false), + bChangePlatform(MODULENAME, "ChangePlatform", false), bUpdateOnStartup(MODULENAME, "UpdateOnStartup", true), // other settings @@ -91,7 +92,7 @@ int CMPlugin::Load() // just to be sure that no garbage remained after restart DeleteFileW(InvertMirandaPlatform()); - g_plugin.setByte(DB_SETTING_NEED_RESTART, 0); + g_plugin.bNeedRestart = false; uint32_t dwLen = GetTempPath(_countof(g_wszTempPath), g_wszTempPath); if (g_wszTempPath[dwLen-1] == '\\') diff --git a/plugins/PluginUpdater/src/Utils.cpp b/plugins/PluginUpdater/src/Utils.cpp index 298c46c0f9..f448eabc11 100644 --- a/plugins/PluginUpdater/src/Utils.cpp +++ b/plugins/PluginUpdater/src/Utils.cpp @@ -338,8 +338,9 @@ MFilePath InvertMirandaPlatform() void DoRestart() { BOOL bRestartCurrentProfile = g_plugin.getBool("RestartCurrentProfile", true); - if (g_plugin.bChangePlatform) + if (g_plugin.bChangePlatform) { CallServiceSync(MS_SYSTEM_RESTART, bRestartCurrentProfile, (LPARAM)InvertMirandaPlatform().c_str()); - else - CallServiceSync(MS_SYSTEM_RESTART, bRestartCurrentProfile); + g_plugin.bChangePlatform.Delete(); + } + else CallServiceSync(MS_SYSTEM_RESTART, bRestartCurrentProfile); } diff --git a/plugins/PluginUpdater/src/stdafx.h b/plugins/PluginUpdater/src/stdafx.h index b7085723f8..56ba6951ff 100644 --- a/plugins/PluginUpdater/src/stdafx.h +++ b/plugins/PluginUpdater/src/stdafx.h @@ -134,9 +134,7 @@ enum #define DB_SETTING_UPDATE_MODE "UpdateMode" #define DB_SETTING_UPDATE_URL "UpdateURL" -#define DB_SETTING_NEED_RESTART "NeedRestart" #define DB_SETTING_DONT_SWITCH_TO_STABLE "DontSwitchToStable" -#define DB_SETTING_CHANGEPLATFORM "ChangePlatform" #define DB_MODULE_FILES MODULENAME "Files" #define DB_MODULE_NEW_FILES MODULENAME "NewFiles" @@ -181,7 +179,7 @@ struct CMPlugin : public PLUGIN bool bForceRedownload = false, bSilent; // not a db options // common options - CMOption bUpdateOnStartup, bUpdateOnPeriod, bOnlyOnceADay, bSilentMode, bBackup, bChangePlatform, bAutoRestart; + CMOption bUpdateOnStartup, bUpdateOnPeriod, bOnlyOnceADay, bSilentMode, bBackup, bChangePlatform, bAutoRestart, bNeedRestart; CMOption iPeriod, iPeriodMeasure, iNumberBackups; CMOption dwLastUpdate; -- cgit v1.2.3