Patch of the LibreOfficeKit
Juergen Funk Mailinglist
Juergen.Funk_ml at cib.de
Tue Dec 9 01:16:25 PST 2014
I have found 3 solution for solve the problem with the Headless mode on Windows.
1. Static Variable
Set a static Variable for set the Headless mode
2. Over Parameter
Set Parameter in functions:
soffice_main(bool bHeadless) - SVMain(bool bHeadless) -
ImplSVMain(bool bHeadless) - InitVCL(bool bHeadless)
In "InitVCL" would be read the commandline and set the
variable "m_headless", the test goes with function
"bool IsHeadless()" in desktop\source\app\cmdlineargs.hxx.
Here can set the Headless variable in dependencies of the
parameter (a lot of changes)
This 2 solution have the problem with the function "bool Application::IsHeadlessModeRequested()" in vcl\source\app\svapp.cxx, the confusing of that is "bool Application::IsHeadlessModeEnabled()" but the function "IsHeadlessModeRequested()" give the status back, and then can set with "void Application::EnableHeadlessMode( bool dialogsAreFatal )", but I am not sure for using this function in case of the LibreOfficeKit.
3. Fix the Windows function "osl_createCommandArgs_Impl" in sal\osl\w32\process.cxx
1. When argv == NULL or no context then use the windows
function "GetCommandLineW()" in other case use the
context of the argv parameter.
2. When argv has context then adding to the windows
This last fix is for the commandline "m_headless, bool IsHeadless()" and the "IsHeadlessModeRequested".
More information about the LibreOffice