office-gobmx/desktop
Mike Kaganski f1e4a97b03 tdf#35568 Repeat "first run" procedure on upgrade
1. In isProductVersionUpgraded, if it was upgraded, set FirstRun. This
   will run in runGraphicsRenderTests, early enough in Desktop::Main().
2. This will make sure that Desktop::CheckFirstRun() will do its tasks,
   including creation  of the quickstart shortcut.  It is simplified a
   bit, to use a better WinAPI.
3. Setting FirstRun to false is moved to m_firstRunTimer's handler, to
   make sure that it gets run eventually, even if the first launch was
   terminated before the timer fired.

This will not make installer itself create the quickstart shortcut: it
will happen on the program's first run after an upgrade. But users now
won't have to enable the option manually each time.

Change-Id: Ica6cc41f1e56b8970db27d14e2be3c47910293e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168902
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-06-15 13:19:13 +02:00
..
inc tdf#161048 Revert "move opencl check at startup inside its own thread" 2024-05-28 18:02:22 +02:00
qa loplugin:ostr in desktop 2024-05-07 14:41:40 +02:00
scripts use portable "command -v" to detect installed programs, part 1 2024-01-22 13:46:45 +01:00
source tdf#35568 Repeat "first run" procedure on upgrade 2024-06-15 13:19:13 +02:00
test/deployment add sparc64, riscv64 and loongarch64 test extensions 2024-01-28 19:16:37 +01:00
uiconfig/ui fix .ui indent 2023-07-25 20:49:20 +02:00
unx/source tdf#156825 Half of the splash screen is visible on both monitors under Linux 2023-08-22 13:15:57 +02:00
util Revert "tdf#152524 Add a __objc_fork_ok data section for Mac Intel executable" 2024-02-18 22:02:53 +01:00
win32/source Fix typo 2024-02-26 16:14:27 +01:00
AllLangMoTarget_dkt.mk
CppunitTest_desktop_app.mk
CppunitTest_desktop_dialogs_test.mk
CppunitTest_desktop_lib.mk Test paintPartTile behavior for views with different schemes 2023-08-03 09:14:19 +02:00
CppunitTest_desktop_lokinit.mk
CppunitTest_desktop_version.mk
CustomTarget_desktop_unopackages_install.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
CustomTarget_soffice.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
Executable_minidump_upload.mk
Executable_oosplash.mk tdf#156825 Half of the splash screen is visible on both monitors under Linux 2023-08-22 13:15:57 +02:00
Executable_quickstart.mk
Executable_sbase.mk
Executable_scalc.mk
Executable_sdraw.mk
Executable_simpress.mk
Executable_smath.mk
Executable_soffice_bin.mk Embind: Centrally initialize via Module.initUno() in a new uno.js 2024-06-12 15:44:12 +02:00
Executable_soffice_com.mk
Executable_soffice_exe.mk
Executable_soffice_safe.mk
Executable_sweb.mk
Executable_swriter.mk
Executable_unoinfo.mk
Executable_unopkg.mk
Executable_unopkg_bin.mk
Executable_unopkg_com.mk
Extension_test-active.mk
Extension_test-crashextension.mk
Extension_test-passive.mk
GeneratedPackage_desktop_unopackages_install.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
IwyuFilter_desktop.yaml tdf#146619 Remove unused #includes from C/C++ files 2024-04-02 17:27:27 +02:00
Jar_active_java.mk
Jar_passive_java.mk
Library_active_native.mk
Library_crashextension.mk
Library_crashreport.mk officecfg,*: add Office::Security::Net::AllowInsecureProtocols 2023-11-09 16:51:31 +01:00
Library_deployment.mk
Library_deploymentgui.mk
Library_deploymentmisc.mk
Library_migrationoo2.mk
Library_migrationoo3.mk Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx 2022-08-18 17:10:19 +02:00
Library_offacc.mk officecfg,desktop: add Office::Security::Net::AllowInsecureUNORemoteProtocol 2023-11-09 17:11:00 +01:00
Library_passive_native.mk
Library_sofficeapp.mk Init Embind-ings manually, once UNO is set up 2024-02-28 07:53:21 +01:00
Library_spl.mk
Library_unopkgapp.mk
lokclipboard.component Make LOKClipboard available to other modules 2023-02-06 17:02:54 +00:00
Makefile
Module_desktop.mk Set entitlements in non-release in $(INSTROOTBASE) and .dmg package 2023-06-07 22:08:50 +02:00
Package_branding.mk
Package_branding_custom.mk
Package_sbase_sh.mk
Package_scalc_sh.mk
Package_scripts.mk
Package_sdraw_sh.mk
Package_simpress_sh.mk
Package_smath_sh.mk
Package_soffice_sh.mk makefile simplification: replace $(call gb_CustomTarget_get_workdir,foo) 2024-05-03 16:06:14 +02:00
Package_swriter_sh.mk
Pagein_calc.mk
Pagein_common.mk
Pagein_draw.mk Revert "merge sdui library into sd" 2024-02-15 08:57:53 +01:00
Pagein_impress.mk Revert "merge sdui library into sd" 2024-02-15 08:57:53 +01:00
Pagein_writer.mk
Pyuno_passive_python.mk
Rdb_crashextension.mk
Rdb_passive_generic.mk
Rdb_passive_platform.mk
README.md
README.vars
StaticLibrary_winlauncher.mk
StaticLibrary_winloader.mk
UIConfig_deployment.mk
WinResTarget_quickstart.mk
WinResTarget_sbase.mk
WinResTarget_scalc.mk
WinResTarget_sdraw.mk
WinResTarget_simpress.mk
WinResTarget_smath.mk
WinResTarget_soffice.mk
WinResTarget_sofficebin.mk
WinResTarget_sweb.mk
WinResTarget_swriter.mk

LibreOffice Binary

Code for the LibreOffice main binary (soffice) resides here. The soffice_main function for the soffice binary can be found here.

Stable Interface

Some of the artifacts built here are part of a LibreOffice installation set's stable interface, which (programmatic) clients can depend on. Among them are:

soffice

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

unoinfo

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

When called with a sole argument of c++, it prints to stdout an absolute pathname denoting the directory where the public URE libraries are found.

When called with a sole argument of java, it prints to stdout a marker character (either an ASCII '0' or '1') followed by a sequence of zero or more absolute pathnames denoting jars or directories that need to be included in a class loader's search locations.

If the marker character is '0' (on Linux and macOS), the pathnames are encoded as bytes, and any two pathnames in the sequence are separated from each other by NUL bytes.

If the marker character is '1' (on Windows), the pathnames are encoded as UTF-16-LE two-byte code units, and any two pathnames in the sequence are separated from each other by two-byte NUL code units.

Other Binaries

oosplash

Splash screen for the LibreOffice soffice binary.

Extensions

The directory test/deployment contains some extensions to be used for testing:

  • test/deployment/crashextension: C++ extension to make LibreOffice crash. Useful for testing Crashreporter.
    • Build with Extension_test-crashextension.
    • Extension can be found in workdir/Extension/test-crashextension.oxt
  • test/deployment/passive: C++, Java and Python extension samples with passive registration.
    • Build with make Extension_test-passive.
    • Extension can be found in workdir/Extension/test-passive.oxt
  • test/deployment/active: C++, Java and Python extension samples with active registration.
    • Build with make Extension_test-active.
    • Extension can be found in workdir/Extension/test-active.oxt