LibreOffice

libreoffice.org
LibreOffice

LibreOffice is a free and open-source office productivity software suite with applications for word processing, spreadsheets, presentations, vector graphics, formulas and database management.

Open Source

LibreOffice Source Code

Author

LibreOffice

Description

Read-only LibreOffice core repo - no pull request (use gerrit instead https://gerrit.libreoffice.org/) - don't download zip, use https://dev-www.libreoffice.org/bundles/ instead

#libreoffice#tdf

Homepage

https://www.libreoffice.org/

Repository

  • LicenseGPL-3.0
  • Created31 Oct 13
  • Primary languageC++
  • Size6,917,612 KB
  • Stars4,558
  • Forks989
  • Watchers4,558

Language Usage

Language Usage

Project Health

Top Contributors

Recent Commits

  • Andreas Heinisch(24 Oct 26)

    tdf#174093 - Prevent crash when moving the data element in pivot table layout Moving the data element within the row fields of the pivot layout dialog crashed, because the data element itself has no label data but uses PIVOT_DATA_FIELD (-1) as its column index which results in out-of-bounds access. Change-Id: I1f63ff2257ad05049b4ee1b64e7380e52aa60f4c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213035 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <[email protected]>

  • Michael Weghorn(23 Oct 26)

    desktop splash: Hold splash screen by unique_ptr, not rtl::Reference After previous commit Change-Id: Ib4125be7bd6924183f6d27e57f3054ce49a36b7e Author: Michael Weghorn <[email protected]> Date: Fri Oct 23 17:02:33 2026 +0200 desktop splash: Stop using XStatusIndicator UNO interface , there is no more reason to stick to the "UNO machinery" for SplashScreenBase and its subclasses. Stop subclassing cppu::WeakImplHelper and hold the instance in Desktop by std::unique_ptr instead of by rtl::Reference. (No ref-counting needed, as only a single reference to the object exists anyway.) This requires making the previously private dtors public. Change-Id: Ifce504329dfab05b3903a1652debb790a070c95c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213008 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    desktop splash: Stop using XStatusIndicator UNO interface Now that the Desktop class has access to the more concrete SplashScreenBase base class since Change-Id: I4d6f512c19fa5b3be27131dfdfccf96dd4c77bfe Author: Michael Weghorn <[email protected]> Date: Fri Oct 23 14:30:20 2026 +0200 desktop splash: Create splash screen instances directly, without UNO ctor , there is no more need to use methods of the abstract XStatusIndicator UNO interface. Stop implementing that interface, but initially copy the methods to the SplashScreenBase base class. This will allow changing methods as makes sense in the future, without being bound by any UNO API/interface restrictions. Change-Id: Ib4125be7bd6924183f6d27e57f3054ce49a36b7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213007 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]>

  • Michael Weghorn(23 Oct 26)

    desktop splash: Move initalize() logic into ctors After previous commit Change-Id: I4d6f512c19fa5b3be27131dfdfccf96dd4c77bfe Author: Michael Weghorn <[email protected]> Date: Fri Oct 23 14:30:20 2026 +0200 desktop splash: Create splash screen instances directly, without UNO ctor , args can be passed to the ctors of the splash screen implementations directly. Stop implementing the XInitialization interface and move the logic previously implemented in the XInitialization::initialize implementations directly into the ctor. UnxSplashScreen::initialize didn't process any arguments passed as parameters. SplashScreen::initialize processed a string wrapped into a uno::Any. Pass that string directly to the ctor instead. Drop the extra mutex lock previously in SplashScreen::initialize as the method is the ctor is only called a single time (and so was SplashScreen::initialize in practice). Change-Id: If038c53976c434418326d445bd7b2be6ceee3177 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213006 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    desktop splash: Drop no longer needed splash screen UNO services Since previous commit Change-Id: I4d6f512c19fa5b3be27131dfdfccf96dd4c77bfe Author: Michael Weghorn <[email protected]> Date: Fri Oct 23 14:30:20 2026 +0200 desktop splash: Create splash screen instances directly, without UNO ctor , SplashScreen and UnxSplashScreen instances are created directly, without using the UNO service constructors for the "com.sun.star.office.SplashScreen" and "com.sun.star.office.comp.PipeSplashScreen" UNO services any longer. Drop the now unused (internal, unpublished) services altogether. Change-Id: Id27c036f9c694ad15b14e2e1a73a3b4a376f6caa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213002 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    desktop splash: Create splash screen instances directly, without UNO ctor In order to create the splash screen instances used in the Desktop class, no longer rely on the UNO service constructors, but create instances of the corresponding classes directly (UnxSplashScreen for the "com.sun.star.office.PipeSplashScreen" service, SplashScreen for the "com.sun.star.office.SplashScreen" service). Switch Desktop::m_rSplashScreen to a reference to the more concrete SplashScreenBase base class instead of one to the abstract css::task::XStatusIndicator UNO interface (and rename the member). This will allow further changes in the future without being bound to specific UNO interfaces. This requires linking the splash ("spl") library into the sofficeapp library. Make that conditional on the splash/spl library being built, using the same condition as desktop/Module_desktop.mk already uses to determine whether or not to build Library_spl. Spell out SplashScreen::_yoffset on its own line to address this build failure otherwise seen on Windows: C:\Users\mwegh\development\git\libreoffice\desktop\inc\splash/splash.hxx(80): error C2487: '_yoffset': member of dll interface class may not be declared with dll interface C:\Users\mwegh\development\git\libreoffice\desktop\inc\splash/splash.hxx(80): error C2487: '_yoffset': member of dll interface class may not be declared with dll interface The now no longer needed UNO services and their ctors will be dropped in an upcoming commit. Change-Id: I4d6f512c19fa5b3be27131dfdfccf96dd4c77bfe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213001 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]>

  • Andreas Heinisch(24 Oct 26)

    tdf#142472 - Use case-sensitive autocompletion in the name box Use case-sensitive autocompletion to keep the case of the typed text in the name box. Change-Id: I1d226c99277f8ca0f36073ca3d26fa54977f38a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213027 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <[email protected]>

  • Justin Luth(22 Oct 26)

    tdf#158349 writerfilter: move PropertiesXMLs out of m_StreamStateStack This should fix a (presumably minor) performance regression. Earlier in 27.2 commit caa93e03abb4966d072af53208e81c41f2e3cb77 I moved SdtHelper into m_StreamStateStack, and m_xPropertiesXMLs came with it (although they aren't directly related). As vmiklos helpfully pointed out, one compontent of SdtHelper was to parse and cache some separate xml files like docProps/custom.xml. But now SdtHelper exists multiple times, so it potentially was parsing/caching these xml files multiple times. So move m_xPropertiesXMLs out of SdtHelper and (back) into DomainMapper_Impl. Change-Id: Idede1ba34016b89104afd81c82d670e6a9a054c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212923 Tested-by: Jenkins Reviewed-by: Justin Luth <[email protected]>

  • Justin Luth(23 Oct 26)

    tdf#174076 sw tblafmt.cxx: fix another memory leak I'm really not a memory leak fixer guy, because my ability to grasp the concept is very weak. But google agreed with me that this was a leak, and that my solution was better than the one it suggested. AddAutoFormat was creating a NEW copy of the passed rTableStyle, and passed it to InsertAutoFormat. But InsertAutoFormat ALSO makes a NEW copy (via std::make_unique), so just pass the reference along instead. Change-Id: Id99ea67f00050b73f6dc509bfa43507a2d2158c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213019 Tested-by: Jenkins Reviewed-by: Justin Luth <[email protected]>

  • Justin Luth(23 Oct 26)

    tdf#174076 sc/sw ReleaseAutoFormat: avoid crash and needless CPU There was no point in calling FindAutoFormat(rName); That just searches the same pImpl->maAutoFormats that the lambda function is searching. So just use the passed name and search for that. Not only that, but if an invalid name was passed that would have caused a nullptr pFormat dereference! Actually, Google identified this problem with the code. Just another rabbit trail to follow today... There is one tiny convern here. Sw actually has two names: -the svx OUString maName -the sw TableStyleName m_aName But both are set in the CTORs and both are set with both SetName's, and FindAutoFormat only searches on the svx OUString name anyway. Likely something here is going to cause severe brain trauma at some point in the future... Change-Id: I9e870da36a0f4f354f49a4bc6f16abd049b8c682 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213018 Tested-by: Jenkins Reviewed-by: Justin Luth <[email protected]>

  • Justin Luth(23 Oct 26)

    tdf#174076 sw tblafmt.cxx: fix a memory leak I noticed that ReleaseAutoFormat was doing something funny with memory. Google helped me to understand it. I made the patch myself and asked it to verify. This is the result after a few iterations. AFAICS the only function that actually leaked in this case was sw/source/uibase/app/docst.cxx, but lets just make that tidy to prevent errors in the future. Of course, I just opened up a possible aspect of misuse by forcing the return of SvxAutoFormatData instead of the derived case. That doesn't affect any existing code though... Change-Id: I223ee447feb008543a9a87dcbc7b560e000cd60b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213017 Tested-by: Jenkins Reviewed-by: Justin Luth <[email protected]>

  • Justin Luth(23 Oct 26)

    tdf#174076 sw: allow all use of table styles for insert/convert This fixes a long-standing UI failure. Only the built-in table styles were being made available for use when inserting a table, or converting text to table. It was missing table styles that were imported with the document. Ideally we could just use GetDoc()->GetTableStyles() and forget about creating our own SwTableAutoFormatTable. We probably could, but I just can't be confident that in every conceivable case the rView.GetWrtShell().GetDoc() SwDoc* will never be null. So we add more wastefulness by copying it instead. Change-Id: Idb329c6cd1e78734e461a2e8b4572c234326bed1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212970 Reviewed-by: Justin Luth <[email protected]> Tested-by: Jenkins

  • Andreas Heinisch(24 Oct 26)

    Correct typo in function wizard's ui test Change-Id: Ied8dd143a5213767cb78e45c299c16819ee676b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213025 Tested-by: Andreas Heinisch <[email protected]> Reviewed-by: Andreas Heinisch <[email protected]>

  • Andreas Heinisch(14 Oct 26)

    tdf#171886 - Add option to search function descriptions in the Function Wizard Instead of using two checkboxes underneath the text box in order to search for functions, provide a hamburger menu beside it containing the search options: search by similarity and search in descriptions. Change-Id: Ia4bc38d34249c771c600f7c5ecc462654bdebed9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212311 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <[email protected]>

  • Pranam Lashkari(22 Oct 26)

    starmath OOXML: add tests for the formula color, style and size fixes breaking each branch that the recent formula import and export fixes added, one at a time, showed 45 of them could change without any test failing these tests catch 43 of them testMathColorConstructs checks the m:ctrlPr color of every construct that draws a part of itself, on import and after saving testMathRunStyles checks italic on normal text, bold on a function name and bold digits testEquationFontSizeFromRunsOnly checks that the largest run size wins and that a size outside the runs does not count testEquationFontSizeOnEveryConstruct checks the size in the control properties of each construct testEquationBlankAndFirstEdition checks the size of a blank and the math font in the 2007 export also extend testMathOperatorWithoutOperand with a lone "+" in a superscript and an operator in one run with its operands the two left are the early return for a lone operator in encloseOrEscapeLiteral, which only matters for a normal text run, and SmDocShell::SetFontSizeInHalfPoints ignoring 0, which Writer always overrides Change-Id: I4bd957222594e44d581d653c6717d2e869dca0f4 Signed-off-by: Pranam Lashkari <[email protected]> Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/16845 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Jenkins CPCI <[email protected]> (cherry picked from commit 3098a1d74d258929aea76db4c9dc4ca9c916407e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212989 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]>

  • Pranam Lashkari(22 Oct 26)

    starmath OOXML import: add empty operand to a dangling "=" problem: a DOCX formula like "= x/2" or "x/2 =" showed an inverted question mark, which is the error mark of the formula parser since "starmath OOXML import: stop quoting single-char math operators as literal text" (Change-Id: I22f01a25212d3c030e8104a00418ab1f6bdb2d07) the "=" stays a bare operator, and the parser fails when a binary operator has nothing on one side when a formula or a part of it does not parse and starts or ends with an operator add an empty group where the operand is missing the sign keeps its math glyph, and the empty group is written back as nothing so the DOCX round trip does not change covered by testMathOperatorWithoutOperand Change-Id: Iaa6621280d83e6330967ab6107df2f9f4d42f48c Signed-off-by: Pranam Lashkari <[email protected]> Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/16844 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> (cherry picked from commit af3848a016208e9ca0bc20cd3e8e103ca780782f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212987 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]>

  • Xisco Fauli(23 Oct 26)

    Revert "tdf#174073 Limit lifetime of toolbar's menu to when it's executed" This reverts commit 3defae525591c9fd24104898512f4bf6f3b4697b. it makes CppunitTest_sw_mailmerge to fail on MacOS [_RUN_____] (anonymous namespace)::test2Pages::MailMerge New datasource name: '10-testing-addresses' warn:dbaccess.core:91232:1:dbaccess/source/core/api/RowSetCache.cxx:121: DBG_UNHANDLED_EXCEPTION in ORowSetCache exception: com.sun.star.sdbc.SQLException message: "The result set is read-only. at /Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/connectivity/source/commontools/dbexception.cxx:447" context: N8dbaccess10OResultSetE SQLState: HY000 ErrorCode: 0 wrapped: Error: a unit test failed, please do one of: make CppunitTest_sw_mailmerge CPPUNITTRACE="lldb --" # for interactive debugging on macOS make CppunitTest_sw_mailmerge VALGRIND=memcheck # for memory checking You can limit the execution to just one particular test by: make CppunitTest_sw_mailmerge CPPUNIT_TEST_NAME="testXYZ" ...above mentioned params... make[1]: *** [/Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/solenv/gbuild/CppunitTest.mk:145: /Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/CppunitTest/sw_mailmerge.test] Error 1 make[1]: *** Waiting for unfinished jobs.... /bin/sh: line 1: 91238 Segmentation fault: 11 ( MAX_CONCURRENCY=4 MOZILLA_CERTIFICATE_FOLDER=dbm: SAL_DISABLE_SYNCHRONOUS_PRINTER_DETECTION=1 SAL_USE_VCLPLUGIN=svp LIBO_LANG=C SAL_NON_APPLICATION_FONT_USE=abort LO_RUNNING_UNIT_TEST=1 env DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+$DYLD_LIBRARY_PATH:}"$I/LibreOfficeDev.app/Contents/Frameworks:$I/LibreOfficeDev.app/Contents/Frameworks":$W/LinkTarget/Library:$W/UnpackedTarball/cppunit/src/cppunit/.libs $W/LinkTarget/Executable/cppunittester $W/LinkTarget/CppunitTest/libtest_sw_mailmerge2.dylib --headless "-env:BRAND_BASE_DIR=file://$I/LibreOfficeDev.app/Contents" "-env:BRAND_SHARE_SUBDIR=Resources" "-env:BRAND_SHARE_RESOURCE_SUBDIR=Resources/resource" "-env:UserInstallation=file://$W/CppunitTest/sw_mailmerge2.test.user" "-env:CONFIGURATION_LAYERS=xcsxcu:file://$I/LibreOfficeDev.app/Contents/Resources/registry xcsxcu:file://$W/unittest/registry-common xcsxcu:file://$W/unittest/registry-user-ui" "-env:UNO_TYPES=file://$I/LibreOfficeDev.app/Contents/Resources/ure/share/misc/types.rdb file://$I/LibreOfficeDev.app/Contents/Resources/types/offapi.rdb file://$I/LibreOfficeDev.app/Contents/Resources/types/oovbaapi.rdb" "-env:UNO_SERVICES=file://$W/Rdb/services.rdb file://$W/Rdb/ure/services.rdb" -env:URE_BIN_DIR=file://$I/LibreOfficeDev.app/Contents/MacOS -env:URE_INTERNAL_LIB_DIR=file://$I/LibreOfficeDev.app/Contents/Frameworks -env:LO_LIB_DIR=file://$I/LibreOfficeDev.app/Contents/Frameworks -env:LO_JAVA_DIR=file://$I/LibreOfficeDev.app/Contents/Resources/java --protector $W/LinkTarget/Library/unoexceptionprotector.dylib unoexceptionprotector --protector $W/LinkTarget/Library/unobootstrapprotector.dylib unobootstrapprotector --protector $W/LinkTarget/Library/libvclbootstrapprotector.dylib vclbootstrapprotector "-env:CPPUNITTESTTARGET=$W/CppunitTest/sw_mailmerge2.test" ) > $W/CppunitTest/sw_mailmerge2.test.log 2>&1 warn:legacy.osl:91238:1:vcl/osx/saldata.cxx:118: no autorelease key [_RUN_____] (anonymous namespace)::exportDirectToPDF_shell::MailMerge New datasource name: '5-with-blanks' warn:dbaccess.core:91238:1:dbaccess/source/core/api/RowSetCache.cxx:121: DBG_UNHANDLED_EXCEPTION in ORowSetCache exception: com.sun.star.sdbc.SQLException message: "The result set is read-only. at /Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/connectivity/source/commontools/dbexception.cxx:447" context: N8dbaccess10OResultSetE SQLState: HY000 ErrorCode: 0 wrapped: warn:vcl.schedule:91238:1:vcl/source/app/svapp.cxx:475: Unprocessed Idle: 0x6000023e5538 sw::DocumentTimerManager m_aDocIdle warn:vcl.schedule:91238:1:vcl/source/app/svapp.cxx:475: Unprocessed Idle: 0x6000023e5538 sw::DocumentTimerManager m_aDocIdle warn:vcl.schedule:91238:1:vcl/source/app/svapp.cxx:475: Unprocessed Idle: 0x6000023e5538 sw::DocumentTimerManager m_aDocIdle Error: a unit test failed, please do one of: make CppunitTest_sw_mailmerge2 CPPUNITTRACE="lldb --" # for interactive debugging on macOS make CppunitTest_sw_mailmerge2 VALGRIND=memcheck # for memory checking You can limit the execution to just one particular test by: make CppunitTest_sw_mailmerge2 CPPUNIT_TEST_NAME="testXYZ" ...above mentioned params... make[1]: *** [/Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/solenv/gbuild/CppunitTest.mk:145: /Users/tdf/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/workdir/CppunitTest/sw_mailmerge2.test] Error 1 make: *** [Makefile:312: build] Error 2 Looking for potential crash dump reports find: /Users/tdf/Library/Logs/DiagnosticReports/: No such file or directory kill-wrapper kill failed Build step 'Execute shell' marked build as failure [Checks API] No suitable checks publisher found. Finished: FAILURE Change-Id: I64673f1128f12fe64652a87b29c1eeeefce34682 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213013 Reviewed-by: Xisco Fauli <[email protected]> Tested-by: Xisco Fauli <[email protected]>

  • Mike Kaganski(22 Oct 26)

    Simplify implIsInsideGroup Its old code mostly duplicated existing method getParentSdrObjectFromSdrObject, so use it. Change-Id: Idf9bab057c1ed22b4c93c149e559f5db6d2cd824 Signed-off-by: Mike Kaganski <[email protected]> Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/16764 Tested-by: Jenkins CPCI <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> (cherry picked from commit 5ffdcd25d5beddb6eba57f8a51be5d3a1682a112) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213012 Reviewed-by: Xisco Fauli <[email protected]> Tested-by: Jenkins

  • Caolán McNamara(09 Oct 26)

    drop the remaining special cases for slot: urls a slot:N url no longer dispatches anything, so treat it like any other unknown scheme Signed-off-by: Caolán McNamara <[email protected]> Change-Id: Ib0ac896a9057640a786ece9f2bc0e738a743a434 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/15017 Reviewed-by: Noel Grandin <[email protected]> (cherry picked from commit 04e88894efb8bcfc0f0b6e2f0748e93309e14309) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212997 Tested-by: Jenkins Tested-by: Xisco Fauli <[email protected]> Reviewed-by: Xisco Fauli <[email protected]>

  • Caolán McNamara(09 Oct 26)

    sfx2: drop the per-verb slots The SID_VERB_START to SID_VERB_END slots had no .uno: name, so with "slot:N" dispatch gone nothing can reach them anymore. Object verbs run through .uno:ObjectMenue?VerbID and DoVerb instead. Signed-off-by: Caolán McNamara <[email protected]> Change-Id: I537bbee0fea8951795d234a48f9743f2e0bff20c Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/15016 Reviewed-by: Noel Grandin <[email protected]> (cherry picked from commit 96ace42e2ee4246306e646bc827cf0cccce2aefa) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212996 Tested-by: Xisco Fauli <[email protected]> Reviewed-by: Xisco Fauli <[email protected]>

  • Caolán McNamara(09 Oct 26)

    tdf#146150 sfx2: drop dispatch of the numeric slot: and commandId: urls Every command has a .uno: name, so the numeric form is just a second way to reach the same command. The in-tree users of slot:N have already been converted to .uno: commands under tdf#146150 and before it, and the last producer, the menu code that made up a slot: url for items without a command, is removed in "framework: don't invent slot: urls for menu items without a command". see also: commit b7e6e0f150a669aa191b16655e6e03d60946c416 Date: Tue Apr 1 02:28:31 2025 +0530 tdf#146150 Use dispatch command instead of numerical ID for the UNO commands The dispose test used slot:5598, which is SID_JUMPTOMARK, so it uses .uno:JumpToMark now. Signed-off-by: Caolán McNamara <[email protected]> Change-Id: I116bb1e6d42b0ac956eea6ce270eda59e0796326 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/15015 Reviewed-by: Noel Grandin <[email protected]> (cherry picked from commit e7ce444d18546cc0b4ef43578f0c188c982b8d4a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212995 Tested-by: Xisco Fauli <[email protected]> Reviewed-by: Xisco Fauli <[email protected]>

  • Michael Weghorn(23 Oct 26)

    desktop splash: Introduce new base class for both splash screen impls Add SplashScreenBase as new abstract base class for the two splash screen implementations, SplashScreen and UnxSplashScreen. Initially, just use this to centralize what UNO interfaces are implemented and to deduplicate the XServiceInfo::supportsService implementations. This is in preparation of switching the type of Desktop::m_rSplashScreen from the abstract XStatusIndicator interface to the new base class and create instances of the classes directly without requiring a UNO service constructor. Change-Id: I4a486e2ede18660dafa3d41f86135d26119cb847 Fixup Change-Id: I7dfe480bb9f6a8b13e5cf10c60cb2ebb9e76b607 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/213000 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]>

  • Michael Weghorn(23 Oct 26)

    desktop splash: Make unxsplash.hxx available inside desktop module Move header to within the desktop module's include directory. This will by used in an upcoming commit to create UnxSplashScreen objects directly, without using the UNO service ctor (desktop_UnxSplash_get_implementation). Change-Id: I74d4ba17d534ebc2333696fde1348647abb8203c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212999 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    desktop splash: Move SplashScreen(Window} to header file Move class definitions from splash.cxx that implements the desktop_SplashScreen_get_implementation service constructor to a header file internal to the desktop module. This prepares for creating objects directly in the future, without going via a UNO service constructor. Change-Id: I2d913b6a31ff4a3ef14d32f9ee480556ae360af8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212998 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]>

  • Michael Weghorn(23 Oct 26)

    desktop oosplash: Convert file_image{.h,_unix.c} to C++ Switch those files from C to C++. Use static_cast instead of C style casts and nullptr instead of NULL to pacify LO clang plugins. Change-Id: I750f8361c295a430e5fe3d5dde1b5e40ae10ab02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212984 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    desktop oosplash: Convert pagein.c to C++ Switch that C source file to C++. Also rename the corresponding header accordingly. Address loplugin:nullptr errors like this one: /home/michi/development/git/libreoffice/desktop/unx/source/pagein.cxx:53:17: error: NullToPointer ValueDependentIsNotNull GNUNull -> nullptr [loplugin:nullptr] 53 | FILE * fp = NULL; | ^~~~ Change-Id: I976ba788f360d631731302c0c64f0b6ea995ea6b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212983 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]>

  • Michael Weghorn(23 Oct 26)

    desktop oosplash: Use stdbool in pagein.c Use bool type instead of int. This prepares for switching the source file from C to C++ in an upcoming commit, at which point loplugin:implicitboolconversion would otherwise be triggered like this: /home/michi/development/git/libreoffice/desktop/unx/source/pagein.cxx:65:15: error: implicit conversion (IntegralCast) from 'bool' to 'int' [loplugin:implicitboolconversion] 65 | ret = type == '1'; | ^~~~~~~~~~~ Change-Id: I6cedb74d7e68317ed545655aef47498357726c70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212982 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    tdf#146153 gtk: Drop unused unx/salobj.h include ... which also avoids a transitive <X11/Xlib.h> include. Change-Id: I062b377705d3be88a047c02ffb1e933350509235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212977 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    tdf#146153 gtk: Don't include gen/x11-specific unx/saldisp.hxx vcl/inc/unx/saldisp.hxx declares SalX11Display and other classes only relevant for the gen/x11 vcl plugin and is not needed in the gtk3/gtk4 vcl plugins. Stop including the header, and instead directly include those headers that were previously transitively included. This helps avoid transitively including X11 headers that unx/saldisp.hxx includes. Drop unused `using namespace vcl_sal;`. That namespace is no longer known with the previous include removed and not used here anyway. Change-Id: Ie782b445955523dc3547f0642bf29d9af838c248 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212976 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins

  • Michael Weghorn(23 Oct 26)

    tdf#146153 gtktiledviewer: Stop using/linking X11-specific libraries For most of them, it's unclear why these dependencies were added in commit 9e4f23698af8079edc114d7006ef6a7fc229c1c9 Date: Wed May 7 20:14:59 2014 +0100 TiledRendering: outline of basic gtk tiled rendering app using liblibreoffice. in the first place. (Maybe they were just copy-pasted from vcl/Library_vclplug_gtk3.mk back then, as another module already using GTK?) The `-lXrender` one was added separately later in commit 3a26638155de5ba804f5260dfb72b392424b9b50 Date: Fri May 9 14:39:55 2014 +0100 Add some rendering to our gtktiledviewer. Just a hardcoded single tile for now. along with an include in code actually making use of it, but that was dropped again later in commit e6b881521c5220a2504811ecfaed1c5cc33910d6 Date: Thu Jun 12 15:14:58 2014 +0100 Remove outdated includes. These were needed for the X11 "context" rendering which is no longer used. Therefore, stop using/linking those X11-specific libraries altogether. No issues seen when building gtktiledviewer and running it using ./bin/run gtktiledviewer --lo-path=$(pwd)/instdir/program ~/Documents/test.odt on either, native Wayland or forcing it to run on X11/XWayland using GDK_BACKEND=x11 ./bin/run gtktiledviewer --lo-path=$(pwd)/instdir/program ~/Documents/test.odt Change-Id: Iaac3fa4de0da7e1f38497aed02e415d80d98e3a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/212974 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]>

LibreOffice Security

3.8/10

Repo Security Summary

Updated 24 Aug 26

  • Maintained10/10
  • PackagingN/A
  • CII-Best-Practices0/10
  • Code-Review10/10
  • Dangerous-Workflow10/10
  • Security-Policy0/10
  • Signed-ReleasesN/A
  • Token-Permissions0/10
  • License10/10
  • Branch-Protection0/10
  • Fuzzing0/10
  • SAST0/10
  • Pinned-Dependencies0/10
  • Binary-Artifacts0/10

LibreOffice Website

Website

Free and private office suite, no forced AI — LibreOffice

LibreOffice is a free office suite

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address65.109.131.19
  • Hostnamewww.documentfoundation.org
  • LocationHelsinki,Uusimaa,Finland,EU
  • ISPHetzner Online GmbH
  • ASNAS24940

Associated Countries

  • DEDE
  • FIFI

Safety Score

Website marked as safe

100%

Trackers

No known trackers found

Blacklist Check

www.libreoffice.org was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

LibreOffice Docker

Container Info

Libreoffice

[LibreOffice](https://www.libreoffice.org/) is a free and powerful office suite, and a successor to OpenOffice.org (commonly known as OpenOffice). Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity.

#Documents

View on DockerHub

linuxserver/libreoffice:latest

Run Command

docker run -d \
  -p 3000:3000/tcp \
  -p 3001:3001/tcp \
  -e PUID=${PUID} \
  -e PGID=${PGID} \
  -e TZ=${TZ} \
  -v /srv/lsio/libreoffice/config:/config \
  --restart=unless-stopped \
  linuxserver/libreoffice:latest

Compose File

version: 3.8
services:
  libreoffice:
    image: "linuxserver/libreoffice:latest"
    ports:
      - "3000:3000/tcp"
      - "3001:3001/tcp"
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Etc/UTC
    volumes:
      - "/srv/lsio/libreoffice/config:/config"
    restart: unless-stopped

Environment Variables

  • Var NameDefault
  • PUID1000
  • PGID1000
  • TZEtc/UTC

Port List

  • 3000:3000/tcp
  • 3001:3001/tcp

Volume Mounting

  • Container PathHost Bind
  • /config/srv/lsio/libreoffice/config

LibreOffice Reviews

More Office Suites

About the Data: LibreOffice

Change History

Edit LibreOffice Data

You can edit LibreOffice's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

You can access LibreOffice's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/libreoffice

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share LibreOffice

Help your friends compare Office Suites, and pick privacy-respecting software and services.
Share LibreOffice and Awesome Privacy with your network!