From 4a38e2b5de9f41f8bb3fa74457f98b2b69b9d56c Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Tue, 29 Jan 2013 06:47:37 +0000 Subject: added ability to restart with current profile git-svn-id: http://svn.miranda-ng.org/main/trunk@3328 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Actman/services.ini | 4 ++-- plugins/PackUpdater/Src/Utils.cpp | 3 +-- plugins/PluginUpdater/src/Utils.cpp | 11 +---------- plugins/ProfileManager/src/pmanagerEx.cpp | 11 +---------- plugins/Restart/src/restart.cpp | 11 +---------- 5 files changed, 6 insertions(+), 34 deletions(-) (limited to 'plugins') diff --git a/plugins/Actman/services.ini b/plugins/Actman/services.ini index 1de3148fdd..7806525e81 100644 --- a/plugins/Actman/services.ini +++ b/plugins/Actman/services.ini @@ -189,9 +189,9 @@ descr=Locks & hides Miranda's contact list and message sessions until password i [Service:Miranda/System/Restart] alias=MS_SYSTEM_RESTART -wparam=0 +wparam=0 or 1. 1 - restart with current profile, 0 - restart in default profile or profile manager lparam=0 -descr=Restarts Miranda (try to use together with CloseAction service) ver.0.8+ +descr=Restarts Miranda ver.0.8+ [Service:mRadio/PlayStop] alias=MS_RADIO_PLAYSTOP diff --git a/plugins/PackUpdater/Src/Utils.cpp b/plugins/PackUpdater/Src/Utils.cpp index fef2ebb9f1..2e7f8ba142 100644 --- a/plugins/PackUpdater/Src/Utils.cpp +++ b/plugins/PackUpdater/Src/Utils.cpp @@ -159,8 +159,7 @@ VOID __stdcall ExitMe(void*) VOID __stdcall RestartMe(void*) { - CallService("CloseAction", 0, 0); - CallService(MS_SYSTEM_RESTART, 0, 0); + CallService(MS_SYSTEM_RESTART, 1, 0); } BOOL Exists(LPCTSTR strName) diff --git a/plugins/PluginUpdater/src/Utils.cpp b/plugins/PluginUpdater/src/Utils.cpp index facbf0b9d1..54702c5c27 100644 --- a/plugins/PluginUpdater/src/Utils.cpp +++ b/plugins/PluginUpdater/src/Utils.cpp @@ -170,16 +170,7 @@ BOOL DownloadFile(LPCTSTR tszURL, LPCTSTR tszLocal) void __stdcall RestartMe(void*) { - TCHAR mirandaPath[MAX_PATH], cmdLine[100]; - PROCESS_INFORMATION pi; - STARTUPINFO si = {0}; - si.cb = sizeof(si); - GetModuleFileName(NULL, mirandaPath, SIZEOF(mirandaPath)); - TCHAR *profilename = Utils_ReplaceVarsT(_T("%miranda_profilename%")); - mir_sntprintf(cmdLine, SIZEOF(cmdLine), _T("\"%s\" /restart:%d /profile=%s"), mirandaPath, GetCurrentProcessId(), profilename); - CallService("CloseAction", 0, 0); - CreateProcess(mirandaPath, cmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); - mir_free(profilename); + CallService(MS_SYSTEM_RESTART, 1, 0); } ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/plugins/ProfileManager/src/pmanagerEx.cpp b/plugins/ProfileManager/src/pmanagerEx.cpp index 6383a3d03a..b4e9a20329 100644 --- a/plugins/ProfileManager/src/pmanagerEx.cpp +++ b/plugins/ProfileManager/src/pmanagerEx.cpp @@ -85,16 +85,7 @@ static INT_PTR CheckDb(WPARAM wParam, LPARAM lParam) static INT_PTR RestartMe(WPARAM wParam, LPARAM lParam) { - TCHAR mirandaPath[MAX_PATH], cmdLine[100]; - PROCESS_INFORMATION pi; - STARTUPINFO si = {0}; - si.cb = sizeof(si); - GetModuleFileName(NULL, mirandaPath, SIZEOF(mirandaPath)); - TCHAR *profilename = Utils_ReplaceVarsT(_T("%miranda_profilename%")); - mir_sntprintf(cmdLine, SIZEOF(cmdLine), _T("\"%s\" /restart:%d /profile=%s"), mirandaPath, GetCurrentProcessId(), profilename); - CallService("CloseAction", 0, 0); - CreateProcess(mirandaPath, cmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); - mir_free(profilename); + CallService(MS_SYSTEM_RESTART, 1, 0); return 0; } diff --git a/plugins/Restart/src/restart.cpp b/plugins/Restart/src/restart.cpp index ce1fd383d0..cd323a5d50 100644 --- a/plugins/Restart/src/restart.cpp +++ b/plugins/Restart/src/restart.cpp @@ -40,16 +40,7 @@ extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD miranda static INT_PTR RestartMe(WPARAM wParam, LPARAM lParam) { - TCHAR mirandaPath[MAX_PATH], cmdLine[100]; - PROCESS_INFORMATION pi; - STARTUPINFO si = {0}; - si.cb = sizeof(si); - GetModuleFileName(NULL, mirandaPath, SIZEOF(mirandaPath)); - TCHAR *profilename = Utils_ReplaceVarsT(_T("%miranda_profilename%")); - mir_sntprintf(cmdLine, SIZEOF(cmdLine), _T("\"%s\" /restart:%d /profile=%s"), mirandaPath, GetCurrentProcessId(), profilename); - CallService("CloseAction", 0, 0); - CreateProcess(mirandaPath, cmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); - mir_free(profilename); + CallService(MS_SYSTEM_RESTART, 1, 0); return 0; } -- cgit v1.2.3