Files
odfstudio/desktop
Caolán McNamara cc93fa1d10 null deref of SfxViewShell
#0  desktop::CallbackFlushHandler::enqueueUpdatedType (this=this@entry=0x34f1a860, type=3, viewShell=viewShell@entry=0x0, viewId=9) at libreoffice/desktop/source/lib/init.cxx:2474
 #1  0x00007f1d866182a4 in desktop::CallbackFlushHandler::enqueueUpdatedTypes (this=0x34f1a860) at libreoffice/desktop/source/lib/init.cxx:2437
 #2  0x00007f1d866184a0 in desktop::CallbackFlushHandler::invoke (this=0x34f1a860) at libreoffice/desktop/source/lib/init.cxx:2503
 #3  0x00007f1d87648db0 in Link<void*, void>::Call (data=<optimized out>, this=0x30d537e8) at libreoffice/include/tools/link.hxx:111
 #4  ImplHandleUserEvent (pSVEvent=0x30d537e0) at libreoffice/vcl/source/window/winproc.cxx:2285
 #5  ImplWindowFrameProc (_pWindow=<optimized out>, nEvent=SalEvent::UserEvent, pEvent=0x30d537e0) at libreoffice/vcl/source/window/winproc.cxx:2849
 #6  0x00007f1d87b3accc in SalFrame::CallCallback (pEvent=0x30d537e0, nEvent=SalEvent::UserEvent, this=0x38abd50) at libreoffice/vcl/inc/salframe.hxx:311
 #7  SvpSalInstance::ProcessEvent (this=0xe87940, aEvent=...) at libreoffice/vcl/headless/svpinst.cxx:272
 #8  0x00007f1d87937029 in operator() (__closure=<synthetic pointer>) at libreoffice/vcl/source/app/salusereventlist.cxx:119
 #9  SalUserEventList::DispatchUserEvents (this=this@entry=0xe87968, bHandleAllCurrentEvents=bHandleAllCurrentEvents@entry=false) at libreoffice/vcl/source/app/salusereventlist.cxx:120
 #10 0x00007f1d87b3b4d9 in SvpSalInstance::ImplYield (this=this@entry=0xe87940, bWait=bWait@entry=true, bHandleAllCurrentEvents=bHandleAllCurrentEvents@entry=false)
     at libreoffice/vcl/headless/svpinst.cxx:425

Change-Id: Id6961b300ce67f5cfcbb91284a84bf02edc6aec3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187632
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 6034be914e4afdbdc330a6d1b43ff02cf966dacf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187661
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-07-10 22:27:20 +02:00
..
2025-07-10 22:27:20 +02:00
2025-03-17 08:35:00 +01:00
2025-02-12 16:45:56 +01:00
…
…

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