summaryrefslogtreecommitdiff
path: root/plugins/PluginUpdater
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2022-04-20 14:18:00 +0300
committerGeorge Hazan <ghazan@miranda.im>2022-04-20 14:18:00 +0300
commit7ff20362f58bb2cbdf64545b375090e02a4ae504 (patch)
tree712620452bca11807c88a33ca8655f86c3acab00 /plugins/PluginUpdater
parentdbc18aef69c444c6368f65b11bb031b322ac5ffd (diff)
more fixes for #3066
Diffstat (limited to 'plugins/PluginUpdater')
-rw-r--r--plugins/PluginUpdater/src/DlgUpdate.cpp20
-rw-r--r--plugins/PluginUpdater/src/Options.cpp6
-rw-r--r--plugins/PluginUpdater/src/PluginUpdater.cpp5
-rw-r--r--plugins/PluginUpdater/src/Utils.cpp7
-rw-r--r--plugins/PluginUpdater/src/stdafx.h4
5 files changed, 13 insertions, 29 deletions
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<CMPlugin>
bool bForceRedownload = false, bSilent; // not a db options
// common options
- CMOption<bool> bUpdateOnStartup, bUpdateOnPeriod, bOnlyOnceADay, bSilentMode, bBackup, bChangePlatform, bAutoRestart;
+ CMOption<bool> bUpdateOnStartup, bUpdateOnPeriod, bOnlyOnceADay, bSilentMode, bBackup, bChangePlatform, bAutoRestart, bNeedRestart;
CMOption<int> iPeriod, iPeriodMeasure, iNumberBackups;
CMOption<uint32_t> dwLastUpdate;