SafeMode: Restart goes into safe mode again

Looks like the XRestartManager keeps all command line arguments when
restarting, so it also keeps --safe-mode.

Solution is to add a flag file when restarting from safe mode,
to prevent going into safe mode again.

Change-Id: I9820d3ccbddf98b0bf6132f254c989f52ea5e808
Reviewed-on: https://gerrit.libreoffice.org/31913
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
This commit is contained in:
Samuel Mehrbrodt
2016-12-12 17:29:28 +01:00
parent 19650d0e27
commit 0fda52cc4a
4 changed files with 58 additions and 7 deletions

View File

@@ -40,9 +40,31 @@ public:
*/
static bool removeFlag();
/**
* Write a flag to the user profile indicating that we are currently restarting from safe mode -
* that means we don't want to enter safe mode again.
*
* @return Whether the file could be written successfully
*/
static bool putRestartFlag();
/**
* Check the existence of the restart flag file.
*
* @return Whether the restart flag file exists
*/
static bool hasRestartFlag();
/**
* Remove the restart flag file.
*
* @return Whether the flag file could be removed successfully
*/
static bool removeRestartFlag();
private:
/** Returns the path of the safe mode flag file.*/
static OUString getFileName();
static OUString getFilePath(const OUString& sFilename);
};
}