diff options
Diffstat (limited to 'plugins/PluginUpdater/src')
| -rw-r--r-- | plugins/PluginUpdater/src/Utils.cpp | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/plugins/PluginUpdater/src/Utils.cpp b/plugins/PluginUpdater/src/Utils.cpp index ad1a5fe774..da09a0846e 100644 --- a/plugins/PluginUpdater/src/Utils.cpp +++ b/plugins/PluginUpdater/src/Utils.cpp @@ -168,8 +168,16 @@ 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);
 -	CallService(MS_SYSTEM_RESTART, 0, 0);
 +	CreateProcess(mirandaPath, cmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
 +	mir_free(profilename);
  }
  /////////////////////////////////////////////////////////////////////////////////////////
  | 
