diff options
| -rw-r--r-- | include/delphi/m_system.inc | 3 | ||||
| -rw-r--r-- | include/m_system.h | 3 | ||||
| -rw-r--r-- | plugins/Actman/services.ini | 4 | ||||
| -rw-r--r-- | plugins/PackUpdater/Src/Utils.cpp | 3 | ||||
| -rw-r--r-- | plugins/PluginUpdater/src/Utils.cpp | 11 | ||||
| -rw-r--r-- | plugins/ProfileManager/src/pmanagerEx.cpp | 11 | ||||
| -rw-r--r-- | plugins/Restart/src/restart.cpp | 11 | ||||
| -rw-r--r-- | src/modules/plugins/pluginopts.cpp | 2 | ||||
| -rw-r--r-- | src/modules/utils/utils.cpp | 13 | 
9 files changed, 20 insertions, 41 deletions
diff --git a/include/delphi/m_system.inc b/include/delphi/m_system.inc index 45f1fc818e..a59723bc05 100644 --- a/include/delphi/m_system.inc +++ b/include/delphi/m_system.inc @@ -56,7 +56,8 @@ const    ME_SYSTEM_SHUTDOWN:PAnsiChar = 'Miranda/System/Shutdown';
    { restarts miranda ( 0.8+ )
 -    wParam=lParam=0
 +    wParam=0 or 1. 1 - restart with current profile, 0 - restart in default profile or profile manager
 +    lParam=0
    }
    MS_SYSTEM_RESTART:PAnsiChar = 'Miranda/System/Restart';
 diff --git a/include/m_system.h b/include/m_system.h index 4347c7a962..75638261a5 100644 --- a/include/m_system.h +++ b/include/m_system.h @@ -66,7 +66,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  #define ME_SYSTEM_SHUTDOWN   "Miranda/System/Shutdown"
  //restarts miranda (0.8+)
 -//wParam = lParam = 0
 +//wParam = 0 or 1. 1 - restart with current profile, 0 - restart in default profile or profile manager
 +//lParam = 0
  #define MS_SYSTEM_RESTART    "Miranda/System/Restart"
  //miranda/system/oktoexit event
 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;
  }
 diff --git a/src/modules/plugins/pluginopts.cpp b/src/modules/plugins/pluginopts.cpp index 3a0e5b7163..fc011535c5 100644 --- a/src/modules/plugins/pluginopts.cpp +++ b/src/modules/plugins/pluginopts.cpp @@ -441,7 +441,7 @@ INT_PTR CALLBACK DlgPluginOpt(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPar  				if (needRestart) {
  					mir_sntprintf(bufRestart + bufLen, SIZEOF(bufRestart) - bufLen, _T("\n%s"), TranslateT("Do you want to restart it now?"));
  					if (MessageBox(NULL, bufRestart, _T("Miranda NG"), MB_ICONWARNING | MB_YESNO) == IDYES)
 -						CallService(MS_SYSTEM_RESTART, 0, 0);
 +						CallService(MS_SYSTEM_RESTART, 1, 0);
  				}
  			}
  		}
 diff --git a/src/modules/utils/utils.cpp b/src/modules/utils/utils.cpp index a672074ed7..4f165bbd6c 100644 --- a/src/modules/utils/utils.cpp +++ b/src/modules/utils/utils.cpp @@ -420,14 +420,19 @@ static INT_PTR RestoreWindowPosition(WPARAM wParam, LPARAM lParam)  }
  /////////////////////////////////////////////////////////////////////////////////////////
 -static INT_PTR RestartMiranda(WPARAM, LPARAM)
 +static INT_PTR RestartMiranda(WPARAM wParam, LPARAM)
  {
 -	TCHAR mirandaPath[ MAX_PATH ], cmdLine[ 100 ];
 +	TCHAR mirandaPath[MAX_PATH], cmdLine[100];
  	PROCESS_INFORMATION pi;
 -	STARTUPINFO si = { 0 };
 +	STARTUPINFO si = {0};
  	si.cb = sizeof(si);
  	GetModuleFileName(NULL, mirandaPath, SIZEOF(mirandaPath));
 -	mir_sntprintf(cmdLine, SIZEOF(cmdLine), _T("\"%s\" /restart:%d"), mirandaPath, GetCurrentProcessId());
 +	if (wParam) {
 +		TCHAR *profilename = Utils_ReplaceVarsT(_T("%miranda_profilename%"));
 +		mir_sntprintf(cmdLine, SIZEOF(cmdLine), _T("\"%s\" /restart:%d /profile=%s"), mirandaPath, GetCurrentProcessId(), profilename);
 +		mir_free(profilename);
 +	} else
 +		mir_sntprintf(cmdLine, SIZEOF(cmdLine), _T("\"%s\" /restart:%d"), mirandaPath, GetCurrentProcessId());
  	CallService("CloseAction", 0, 0);
  	CreateProcess(mirandaPath, cmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
  	return 0;
  | 
