Commit Graph
511165 Commits
Author SHA1 Message Date
Gabor Kelemen fd2e467ba3 tdf#146619 Run IWYU in fw decl mode on include/[a-c]*
After recent commit 851fb75779
recheck these directories in include/ again
to test drive the new --headersfwd mode of bin/find-unneeded-includes

Change-Id: I0ede437c4f9958cd98210ed1760a5b98ea8bd1ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192377
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2025-11-08 09:37:19 +01:00
Mike Kaganski cbfda0dd1a LOK: Avoid failed assertion when extracting document structure
coolforkit-ns: /home/mk/core/vcl/source/app/dbggui.cxx:36: void ImplDbgTestSolarMutex(bool):
 Assertion `ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && "SolarMutex not
 owned!"' failed.

Seen with this call stack:

 #0  0x00007f71b2b7ee96 in __GI___assert_fail (
     assertion=0x7f71aa2c4de0 "ImplGetSVData()->mpDefInst->GetYieldMutex()->IsCurrentThread() && \"SolarMutex not owned!\"", file=0x7f71aa2c4db8 "/home/mk/core/vcl/source/app/dbggui.cxx", line=36,
     function=0x7f71aa2c4d90 "void ImplDbgTestSolarMutex(bool)") at ./assert/assert.c:103
 #1  0x00007f71a952e69b in ImplDbgTestSolarMutex (owned=true) at /home/mk/core/vcl/source/app/dbggui.cxx:36
 #2  0x00007f71ab311ee0 in DbgTestSolarMutex (owned=true) at /home/mk/core/tools/source/debug/debug.cxx:54
 #3  0x00007f719ae4156d in SwModify::Add (this=0x55ace7ff8ec0, rDepend=...)
     at /home/mk/core/sw/source/core/attr/calbck.cxx:172
 #4  0x00007f719b42e062 in SwContentNode::SwContentNode (this=0x55ace8021f50, rWhere=..., nNdType=SwNodeType::Text, pColl=0x55ace7ff8ec0) at /home/mk/core/sw/source/core/docnode/node.cxx:1082
 #5  0x00007f719ba84bee in SwTextNode::SwTextNode (this=0x55ace8021f50, rWhere=..., pTextColl=0x55ace7ff8ec0, pAutoAttr=0x0) at /home/mk/core/sw/source/core/txtnode/ndtxt.cxx:219
 #6  0x00007f719ba84661 in SwNodes::MakeTextNode (this=0x55ace83b0ee0, rWhere=..., pColl=0x55ace7ff8ec0, bNewFrames=true) at /home/mk/core/sw/source/core/txtnode/ndtxt.cxx:133
 #7  0x00007f719b442347 in SwNodes::MakeTextSection (this=0x55ace83b0ee0, rWhere=..., eSttNdTyp=SwNormalStartNode, pColl=0x55ace7ff8ec0) at /home/mk/core/sw/source/core/docnode/nodes.cxx:1953
 #8  0x00007f719b18c9a2 in SwRangeRedline::MoveToSection (this=0x55ace8302bd0) at /home/mk/core/sw/source/core/doc/docredln.cxx:1962
 #9  0x00007f719b18b8c8 in SwRangeRedline::ShowOriginal (this=0x55ace8302bd0, nLoop=0, nMyPos=3) at /home/mk/core/sw/source/core/doc/docredln.cxx:1772
 #10 0x00007f719c650b17 in (anonymous namespace)::HideNewerShowOlder::Hide (pRedline=0x55ace8302bd0, rTable=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:934
 #11 0x00007f719c650668 in (anonymous namespace)::HideNewerShowOlder::HideNewerShowOlder (this=0x7ffea7e20b60, limit=..., rTable=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:885
 #12 0x00007f719c651152 in (anonymous namespace)::GetDocStructureTrackChanges (rJsonWriter=..., pDocShell=0x55ace7d72d00, filterArguments=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:997
 #13 0x00007f719c651cc3 in (anonymous namespace)::GetDocStructure (rJsonWriter=..., pDocShell=0x55ace7d72d00, rArguments=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:1077
 #14 0x00007f719c6524a4 in SwXTextDocument::getCommandValues (this=0x55ace836de60, rJsonWriter=..., rCommand=...) at /home/mk/core/sw/source/uibase/uno/loktxdoc.cxx:1162
 #15 0x00007f71b272492f in lo_extractDocumentStructureRequest (pFilePath=0x55ace4085040 "file:///tmp/user/docs/IvJPNWKKqE4D3jXV/works.docx", pFilter=0x55ace7b2a450 "trackchanges,contextLen:100") at /home/mk/core/desktop/source/lib/init.cxx:3352
 #16 0x000055accb8ae888 in lok::Office::extractDocumentStructureRequest (pFilter=<optimized out>, pFilePath=<optimized out>, this=0x55acd7c16bd0) at /home/mk/core/include/LibreOfficeKit/LibreOfficeKit.hxx:1301
 #17 ChildSession::_handleInput (this=0x55ace78ead30, buffer=<optimized out>, length=<optimized out>) at kit/ChildSession.cpp:371
 #18 0x000055accb95f62c in Session::handleMessage (this=0x55ace78ead30, data=...) at common/Session.cpp:326
 #19 0x000055accb901e25 in Document::forwardToChild (this=0x55ace7a662b0, prefix=..., payload=...) at kit/Kit.cpp:2283
 #20 0x000055accb902a8e in Document::drainQueue (this=0x55ace7a662b0) at /usr/include/c++/13/string_view:146
 #21 0x000055accb9036cd in KitSocketPoll::drainQueue (this=0x55ace7a8c880) at kit/Kit.cpp:2961
 #22 KitSocketPoll::kitPoll (this=0x55ace7a8c880, timeoutMicroS=<optimized out>) at kit/Kit.cpp:3034
 #23 0x00007f71a99ac661 in SvpSalInstance::ImplYield (this=0x55acd7c35700, bWait=true, bHandleAllCurrentEvents=false) at /home/mk/core/vcl/headless/svpinst.cxx:463
 #24 0x00007f71a99ac938 in SvpSalInstance::DoYield (this=0x55acd7c35700, bWait=true, bHandleAllCurrentEvents=false) at /home/mk/core/vcl/headless/svpinst.cxx:504
 #25 0x00007f71a95f88d9 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/mk/core/vcl/source/app/svapp.cxx:389
 #26 0x00007f71a95f9794 in Application::Yield () at /home/mk/core/vcl/source/app/svapp.cxx:492
 #27 0x00007f71a95f855a in Application::Execute () at /home/mk/core/vcl/source/app/svapp.cxx:364
 #28 0x00007f71b26602a7 in desktop::Desktop::Main (this=0x7ffea7e23f30) at /home/mk/core/desktop/source/app/app.cxx:1680
 #29 0x00007f71a96249f1 in ImplSVMain () at /home/mk/core/vcl/source/app/svmain.cxx:228
 #30 0x00007f71a9624ad6 in SVMain () at /home/mk/core/vcl/source/app/svmain.cxx:246
 #31 0x00007f71b26d300e in soffice_main () at /home/mk/core/desktop/source/app/sofficemain.cxx:121
 #32 0x00007f71b2743c40 in lo_runLoop (pPollCallback=0x55accb904070 <pollCallback(void*, int)>, pWakeCallback=0x55accb8e6ab0 <wakeCallback(void*)>, pData=0x55ace7a8c880) at /home/mk/core/desktop/source/lib/init.cxx:7873
 #33 0x000055accb90c3af in lok::Office::runLoop (pData=0x55ace7a8c880, pWakeCallback=0x55accb8e6ab0 <wakeCallback(void*)>, pPollCallback=0x55accb904070 <pollCallback(void*, int)>, this=0x55acd7c16bd0) at /home/mk/core/include/LibreOfficeKit/LibreOfficeKit.hxx:1156
 #34 lokit_main (childRoot=..., jailId=..., configId=..., sysTemplate=..., loTemplate=..., noCapabilities=<optimized out>, noSeccomp=<optimized out>, useMountNamespaces=<optimized out>, queryVersion=<optimized out>, displayVersion=<optimized out>, sysTemplateIncomplete=<optimized out>, numericIdentifier=<optimized out>) at kit/Kit.cpp:3926
 #35 0x000055accb8c7ea9 in operator() (__closure=<optimized out>) at kit/ForKit.cpp:556
 #36 std::__invoke_impl<void, createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()>&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61
 #37 std::__invoke_r<void, createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()>&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:111
 #38 std::_Function_handler<void(), createLibreOfficeKit(const std::string&, const std::string&, const std::string&, const std::string&, bool, bool)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/13/bits/std_function.h:290
 #39 0x000055accb8cb1c2 in std::function<void ()>::operator()() const (this=0x7ffea7e24e90) at /usr/include/c++/13/bits/std_function.h:591
 #40 forkKit(const std::function<void()> &, const std::string &, const std::function<void(int)> &) (childFunc=..., childProcessName=..., parentFunc=...) at kit/ForKit.cpp:499
 #41 0x000055accb8cc6ef in createLibreOfficeKit (childRoot=..., sysTemplate=..., loTemplate=..., useMountNamespaces=<optimized out>, queryVersion=<optimized out>, configId=...) at kit/ForKit.cpp:576
 #42 0x000055accb8d1578 in forkit_main (argc=<optimized out>, argv=<optimized out>) at kit/ForKit.cpp:1042
 #43 0x00007f71b2b6ed90 in __libc_start_call_main (main=main@entry=0x55accb8835a0 <main(int, char**)>, argc=argc@entry=10, argv=argv@entry=0x7ffea7e25e58) at ../sysdeps/nptl/libc_start_call_main.h:58
 #44 0x00007f71b2b6ee40 in __libc_start_main_impl (main=0x55accb8835a0 <main(int, char**)>, argc=10, argv=0x7ffea7e25e58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffea7e25e48) at ../csu/libc-start.c:392
 #45 0x000055accb884845 in _start ()

Change-Id: Ib7e8f93b094db925b6bb60134d23aeb325a10f54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191016
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 3d166314525aa86f16a2c8aba76bb796c77589fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193554
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-11-08 08:04:54 +01:00
Sampath-1984 603713b6da tdf#168525 Change "Text from file..." to "Contents from Text Document..."
Change the label for '<node oor:name=".uno:InsertDoc" oor:op="replace">' in the file 'officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu'

Change-Id: I6fb1b6fcd36be05ea21183fe9ab9e676be1ab4d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193301
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
2025-11-08 07:55:09 +01:00
Justin Luth 63bac9055e tdf#169072 ms export: valid date years are 1601 - 9999
The dates in core.xml must fall in the range of 1601 - 9999.

This applies to all docx files,
and ECMA_376_1ST_EDITION (2007) versions of the other formats.

No existing unit tests had ANY dates outside of that range.

make CppunitTest_sw_ooxmlexport21 \
    CPPUNIT_TEST_NAME=testTdf169072_illegalDates

Change-Id: Ic2c81d13a1a8ed9d2ce29f7fea761900aa2f2d20
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193552
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
2025-11-08 00:27:06 +01:00
Mike Kaganski 814a437a0d tdf#169320: Don't treat hidden-paragraph-mark as redline
The "hidden paragraph mark" feature is implemented to match the
feature of MS Word. In Writer, it is implemented using the same
"merged paragraphs" machinery as redlines; and some code doesn't
make distinction between the two.

The code, that calculates a number string, uses three internal
lists in SwTextNode to take redlines into account: mpNodeNum,
mpNodeNumRLHidden, mpNodeNumOrig, which reflect the hierarchy
effective for each mode. In "hidden redlines" mode, there are
no removed elements in the respective list. Therefore, number
string will be calculated from a different structure, and will
differ from the string generated from the original structure.
That is considered in SwTextFormatter::NewNumberPortion, which
calls SwTextNode::GetNumString with SwListRedlineType::HIDDEN
and SwListRedlineType::ORIGTEXT flags, compare the results, and
add the original text in [] after the current text.

Removal of elements hidden by redlines from mpNodeNumRLHidden
happens in CheckParaRedlineMerge, which finds fidden nodes, and
calls SwTextNode::RemoveFromListRLHidden for them. This change
makes sure that it is not called, when a node is not hidden by
a redline.

Change-Id: I93bc2c47bfefca115c1cbe47e53c7b0f7a119e4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193583
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-11-07 21:47:37 +01:00
Xisco Fauli 63460e46da related tdf#168511: bundle venvlauncher.exe too
Change-Id: I7f70d624d4952e85252b9e457fa309e1f8005490
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193579
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2025-11-07 21:17:00 +01:00
Miklos Vajna 49f6bd58d7 sd: extract FN_TRANSFORM_DOCUMENT_STRUCTURE handling to a new function
sd::DrawViewShell::FuTemporary() is quite long,
FN_TRANSFORM_DOCUMENT_STRUCTURE handling inside that is also long, so
make that a separate function.

Change-Id: Ief9e3704b8148900eb972ce0c144c444b03e640c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193584
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2025-11-07 21:09:13 +01:00
Caolán McNamara 03b0786f7f cid#1668592 Result is not floating-point
Change-Id: Ie9a3eacf35589c3112b18de960f04fd3b685a2f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193566
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-07 20:31:43 +01:00
Noel Grandin 6b9794ea1c mso-test: invalid xdr:twoCellAnchor
This is using the test document from fdo73254-1.xls.

Importing and exporting to XLSX and then running officeotron generates an error.

The xdr:twoCellAnchor has mandatory subelements, so we cannot skip writing them,
even if we have no graphic or media URL.

The code I am removing seems to be from
    commit cbcffbaee2
    Author: Jan Holesovsky <kendy@collabora.com>
    Date:   Tue Sep 5 16:53:14 2017 +0200
    tdf#106867: Export videos in PPTX.

Change-Id: Ie095bad8ea9bf92b553448205f00c9cacf42d513
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193538
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit 4158108427515dce8452dd1026a4f0412ce3ca9a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193570
Tested-by: Jenkins
2025-11-07 18:44:03 +01:00
Caolán McNamara 6a91d66a93 cid#1660467 related Division or modulo by float zero
Change-Id: Ie5348068a7d56fd81abf98c8449af251f9fba905
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193569
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-07 17:36:28 +01:00
varshneydevansh 9bcc5970b7 tdf#132007: Refine password prompt dialog UI and text
Refines the password dialog for a cleaner user experience.

The main prompt now shows just the filename instead of the full path.
A the label clarifies whether a password to "open" or "edit" the
file is needed.

The OK button is disabled until a password is entered.

Change-Id: I1288fc94b81984b32f9ade33bd0cd52aa4439b1d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163924
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2025-11-07 15:41:27 +01:00
Mike Kaganski a95c6bc086 Drop an obsolete comment
Initially, commit 95450c1b73 (INTEGRATION:
CWS hedaburemove01 (1.1.2); FILE ADDED, 2007-04-11) used "_MyEDITDATA_HXX"
as include guard; and the comment explained the choice of the name.

Now the include guard is different.

Change-Id: Ia2f904512276cb2a7a90163657bac0617efb8381
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193577
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-11-07 14:44:59 +01:00
Mike Kaganski 2495688cab Translate a comment
Change-Id: I7cdcb6af8b94d69f37ed602efa724c857a9c3784
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193575
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-11-07 14:44:20 +01:00
Tamás Zolnai 87e2c1686a tdf#169291: Fix rendering of solid grid in Writer.
When solid lines are used for rendering the grid,
different input agruments are expected by DrawGrid() method.
The start position of the lines is needed, which is determined
by the edge of the drawing area.

Also move the DrawGrid() call out of the loop. It's enough to call
the rendering code once for the vertical and once for the horizontal
lines.

Change-Id: I1f1eddd2c3c9abd91fbd3e48eaee9bd10385ef6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193541
Reviewed-by: Tamás Zolnai <zolnaitamas2000@gmail.com>
Tested-by: Jenkins
2025-11-07 13:58:16 +01:00
Olivier Hallot 1ac14eb0fa Update git submodules
* Update helpcontent2 from branch 'master'
  to be34e51d7b2e5b4527fce8e818f20df359a04fc7
  - tdf#130072 documentation about field variable formats
    
    + Add precision on variable fields format.
    
    Change-Id: I975e53f3bed0a0ba236d9da9ffce19dfec07ecfc
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/193551
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
    Tested-by: Jenkins
2025-11-07 09:51:25 +01:00
Michael Weghorn 1d1e9af105 gtk3: Drop now obsolete workaround for GTK < 3.24
The underlying problem was fixed in GTK 3.24, so this
workaround is no longer needed after

    commit c392f7b8a6
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Nov 5 17:44:57 2025 +0100

        gtk3: Require GTK >= 3.24

Change-Id: Idf5434f57e14285c2a0d3de1ab36e4eafeea9400
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193523
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-11-07 09:45:12 +01:00
Noel Grandin 1fa4d0e6c9 mso-test: c:noMultiLvlLbl not valid for category axis
This is using the test document from forum-mso-en4-58299.xls.

Importing and exporting to XLSX and then running officeotron generates an error.

The c:noMultiLvlLbl element is only valid for category axes, not date axes.

Change-Id: If24941b9802a8e6e8f4e9243ad8f5cf07a85b1d6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193527
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit cdf2a068a6c5f4d4d8051d845a08f9552b913079)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193545
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-07 09:07:55 +01:00
Gabor Kelemen 980437e738 bin/find-unneeded-includes: exclude some paths from checking
individual files and dirs with many files as well,
if they are related to any non-linux build, such as
Win, Mac, Emscripten, IOS, Android

Preparation for making this everybody elses problem,
but for now, only on linux builders

Change-Id: I94b0c76a8d7043538df930379e0703af7416bb3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192750
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2025-11-07 08:36:42 +01:00
Hubert Figuière 8f8c545223 vcl: Send dump the grid height in JSON
This allow proper grid layout when spanning over several row in JS Dialog

Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: Idd64a367e302a896791ab9603d5e03737db52cfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193501
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
(cherry picked from commit 123c01ef7ad0d220c50ba35d4639b970eee9c3fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193550
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-11-07 08:27:44 +01:00
Aron Budea 2de71234b3 tdf#168755 sd smartart: use unified ids for diagrams and shapes
Diagrams (SmartArt) had their separate counters for ids, and
when saving animation details, the shape to target wasn't
found, resulting in tags like this, where negative spid
is invalid:
<p:spTgt spid="-1"/>

See "19.5.72 spTgt (Shape Target)" in OOXML spec.

Ids can't be completely unified, as it would affect naming
in ppt/diagrams and on the UI to have large numbers
(eg. in the 40-60 range), while users would expect them
to start from 1.
At least ids to "p:cNvPr" under "p:graphicFrame" should be
unified.

The large number is because shapes are numbered consecutively
over all slides, while for the most part they could restart
on each slide, changing that is not in scope for this fix.

Change-Id: I9790036cc0743313e98f5926d4dc365c8051bd04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193479
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Jenkins
2025-11-07 07:28:43 +01:00
Roman 73021bbd6f tdf#168520 Rename UI tests for calc_tests6
Change-Id: I196b357f7ec9a5d2977d8f0a92ffd546c40dd5e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193548
Tested-by: Jenkins
Reviewed-by: Roman Kuznetsov <antilibreoffice@gmail.com>
2025-11-07 05:43:24 +01:00
Olivier Hallot c4ca12c9a9 Update git submodules
* Update helpcontent2 from branch 'master'
  to 17a0bd4d2fdf9d53bc44bbea8391f000824948cc
  - Fix help build after 2b322af4b9473210ed6a332115dac381f07039d6
    
    + Extra single quotes removed.
    
    Change-Id: I1942ba10f3522ea8bfb0ee36239a21de971a0f98
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/193549
    Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
    Tested-by: Jenkins
2025-11-07 00:15:48 +01:00
Xisco Fauli b63f8cd8df Reapply "openssl: upgrade to 3.5.4 (master only)"
This reverts commit 708abf2466.

Reason for revert: Probably it works with --with-visual-studio=2022 now

Change-Id: Ibcfe74f9c7b0a460c527f1d8c121246081dcbb43
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193544
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-11-06 21:02:43 +01:00
Gabor Kelemen 1216a0e465 Add some customAssumeFilenames to include/
to increase IWYU coverage to some silently failing corner cases
found with bin/find-unneeded-includes --finderrors mode

Change-Id: Ifd85fceb56ff60c6e33229c36a427c3987778f67
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192749
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2025-11-06 20:52:23 +01:00
Justin Luth e9f5d6ce38 tdf#148478 pptx export: only export ASCII .wav filenames
MS PowerPoint reports a corrupt presentation
if one of the ppt/media files contains non-ascii characters.

make CppunitTest_sd_export_tests-ooxml3 \
    CPPUNIT_TEST_NAME=testTdf148478_transitionMusic

Change-Id: Ide5c5d38b4517e7a933fb8d414d901b49b15faca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193435
Reviewed-by: Justin Luth <jluth@mail.com>
Tested-by: Jenkins
2025-11-06 19:47:51 +01:00
Gabor Kelemen fc989238e5 bin/find-unneeded-includes: another method against obsolete exclusions
Spotted with include/o3tl/vector_utils.hxx
it can happen that IWYU starts to consider a header having
all correct includes, in this case it does not give a list of
proposals.

This makes the previous method of spotting obsolete exclusions
ineffective in these cases.

Start watching for the "foo.hxx has correct #includes/fwd-decls"
announcement and consider every exclusion as obsolete

Change-Id: I46dd8dd4e2765a972ceaa7aa950d92c9e0a2d1b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192747
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2025-11-06 19:28:39 +01:00
Armin Le Grand (collabora) 6fec895e2b Distribute information about SmartArt being selected
Change-Id: I8175cc7e200a5194aa7dd671fa7dfef47d6007eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193494
Tested-by: Armin Le Grand <Armin.Le.Grand@me.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
(cherry picked from commit 740753639028e037f738e2123d3584609ca85774)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193535
Tested-by: Jenkins
2025-11-06 16:56:24 +01:00
Caolán McNamara 780d6e931b assert on creating a new view that there is an XInteractionHandler
we install one when we create a document, so detect if that was removed
by something, which has happened historically on save, or export of a
selected element, but we want the original XInteractionHandler to be
restored when those complete.

Change-Id: I0886dd038a9167fd1b53e0b382fd52e6cb8a7610
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193465
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-06 16:05:22 +01:00
Caolán McNamara 2d4911e8c6 always restore original interaction handler after dosave
this is similar to:

commit a2007364e7
Date:   Thu May 16 14:37:52 2024 +0100

    always restore existing interaction handler after save

except for this other save-alike case which is used to
export elements of the document

Change-Id: I7da6ddde2503364274ac1292f92a7666b3afaced
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193464
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-06 16:05:14 +01:00
Caolán McNamara 5a814b69e5 SfxObjectShell::SaveTo_Impl may overwrite its original output file
at which point the cached value of the 'Modified' timestamp is that
of the pre-overwrite time. Drop the cached value and fetch it again
on next demand.

Otherwise another overwrite#2 attempt will compare against the
timestamp of the pre-overwrite-#1 and not of the post-overwrite#1
and a 2nd overwrite behaves differently that a 1st overwrite.

It assumes that the timestamp mismatch means the file has been modified
by an external event and requests an XInteractionHandler intervention to
approve the 2nd overwrite (but not the 1st overwrite).

This is indistinguisable from the 1st overwrite if there is no XInteractionHandler
during the 2nd overwrite, but not if there is an XInteractionHandler
set.

The QuietInteractionHandler, used for headless and silent mode, defaults to
aborting the save for queries it doesn't recognize, so will throws an exception in
this case.

The result is that CppunitTest_sfx2_misc 'testOverwrite' fails if the
same interaction handler present during the 1st overwrite is still
present during the 2nd overwrite. Which the next commit will introduce.

Change-Id: I80b997ce6adba38049c0e92bd8b18d160a0a2292
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193522
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-11-06 16:03:54 +01:00
codemaestro 08d788f5ff tdf#114441: Convert use of sal_uLong to better integer types
SwTextNode represents a single paragraph. ParagraphIdleData stores word
and character counts. Each paragraph's text is limited by the underlying
text buffer (OUString) index, which is sal_Int32 (~2.1B chars). Using
sal_uInt32 (4.3B capacity) safely covers all possible characters per
paragraph, voids overflow and halves memory compared to 64-bit counters.

Change-Id: I421e3b455ea5019d955db7c25edcac99eb927dbf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193012
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-11-06 14:50:39 +01:00
Christopher Sherlock 955ac3cc32 vcl: extract PDFPage and utility functions to own files
This should whittle down this absolutely massive file and make it easier
to read and understand.

Change-Id: If2246b0b06ca5d1e9e92d45df2c8b3cfc1628178
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190883
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
2025-11-06 14:26:54 +01:00
Noel Grandin aee2b5514e IsControlChar does not need to take sal_UCS4
it is only called with sal_Unicode data, and only uses 16-bit data internally

Change-Id: I43d482ed395db59ca71ed5de64ec592051c46f6b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193517
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-11-06 13:19:11 +01:00
Miklos Vajna 22a6748e07 sw doc model xml dump: handle SwSetExpField
Otherwise the expanded field value is not visible in the dump, which was
interesting when working on tdf#165472.

Change-Id: I024ab4293d6131367eaccefbc23dae318362ac6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193515
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-11-06 13:12:41 +01:00
Christian Lohmaier dfb9290cad Update git submodules
* Update helpcontent2 from branch 'master'
  to 2b322af4b9473210ed6a332115dac381f07039d6
  - simplify help makefile a bit
    
    by copying the en-US file a single pattern rule can be used without the
    need of using a generator/eval to add the targets/dependencies
    
    Change-Id: Ie63fce1e3687f1e1ba46583529e6f4997c0aba44
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/192835
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2025-11-06 11:48:47 +01:00
Olivier Hallot a72c4cdd11 Update git submodules
* Update helpcontent2 from branch 'master'
  to 1e66ff8bd5bc9a11551a0b7246b443b992cdccd4
  - tdf#168917 Sort options includes natural sorting
    
    + Refactor
    + Added text for the natural sort choices
    + Update how to get
    
    Change-Id: If6ed18510baa49a9a95ead9145a67aa0c2396c1b
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/193499
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2025-11-06 11:48:19 +01:00
Misha 27f3ac1d74 tdf#143148: Use pragma once instead of include guards in emfio
Change-Id: I8aaee83dd43c8574a5332341cc3dd30f679887d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193500
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-11-06 11:40:25 +01:00
Noel Grandin b28bfc359b lcl_CalcAsianKerning does not need to take sal_UCS4
it is only called with sal_Unicode data, and only uses 16-bit data internally

Change-Id: I885fcfeb928fc9c9bb1750a55d8009da6c9f2c3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193514
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-06 10:43:03 +01:00
Noel Grandin 50ab8446cb mso-test: fix export of rotX
This is using the test document from ooo72994-7.xls.

Fix the export of the rotX value for 3D charts.
We cannot easily map the value here, all we can do is clamp it.

Change-Id: I1beba485c66babfbe03830c79b8b8c72a7560bfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193456
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit 8758fa5ab4b8c99ab15334653c58651c6edd2e35)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193511
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-11-06 10:18:10 +01:00
Noel Grandin 39869d2a03 mso-test: escape text of vml element
This is using the test document from ooo91342-1.xls.
When importing and exporting to XLSX, we end up with an unescaped "&" character.

Change-Id: Ieb578c42adf1eed2b29ef96af973c15d22b40e3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193454
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit 8df99b53bdf1d21076d008a2e4915b80cd6e2a61)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193510
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-06 10:18:01 +01:00
Noel Grandin 196b3fe189 mso-test: escape text of a:t element
This is using the test document from tdf 111408-1.odt.
When importing and exporting to XLSX, we end up with an unescaped "&" character.

Change-Id: I25e8952049cc0f9665030b46e7d29d2397d9f9bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193448
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 47e2188d4bab1509d059c4df53df7f49324bea2d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193509
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-06 10:17:51 +01:00
Mike Kaganski ebad6146dd Simplify Date a bit
No need to re-invent std::abs. Also drop some static_casts, to
allow warnings in case there will be unexpected values.

Change-Id: Iad1bc7fd22a1c517e4cdce28d156aa42fc5e6ec6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193507
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-11-06 09:52:11 +01:00
Michael Stahl d97775f3ee sw: fix SwDoc::IsInHeaderFooter() with flys
If the node is in a fly, this can only print:

  sw/source/core/doc/doclay.cxx:1619: Found a FlySection but not a Format!

This is a regression from commit
e07feb9457 which used the wrong node's
anchored objects: of course the fly is never anchored to itself, so this
will never find anything.

It turns out that there is already a function SwNode::GetFlyFormat()
that can do most of the work, even using the layout to speed it up, so
just use that to get the anchor.

Change-Id: I7a22231f929175ed7c5c11724882b03890781cfc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193476
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins
2025-11-06 09:38:59 +01:00
Michael Stahl 9e330d0562 sw: prevent anchoring SwXShape to its own textbox
SwXShape::setPropertyValue() allows anchoring a shape to its own
textbox; this actually happens in testTdf146955.

Detect this and throw IllegalArgumentException.

Also catch the exception in GraphicImport::lcl_attribute() so the test
doesn't fail.

Change-Id: I236e12384e07793e0cf3474fc92657967d9249f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193475
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins
2025-11-06 09:38:56 +01:00
Michael Stahl d2c387bc60 tdf#136220 sw: text formatting: fix breaking line with multiple fields
... when there is an anchored object in the footer, and the last field
fits only partially on the line.

This stopped working with commit 8e3afdb598
removing the IsFooterFrame() check in SwTextFly::GetTop().

Previously a new line below the last line that fits on the page started
with the field rest portion, when the not-fitting line is deleted in
SwTextIter::TruncLines() this caused pDel->IsRest() to be true and
setting SetFollowField(true) which later caused the mbFieldFollow to be
set in the follow text frame.

Now the pDel->IsRest() is false because the line contains only a big fly
portion due to the fly in the footer, and then SetFieldFollow(false) and
the follow doesn't start with the rest of the field.

There is a long standing bug in lcl_NeedsFieldRest() causing this, it
simply doesn't work if there are multiple fields in a line, it
erroneously considers the first field to be the last one in the line.

Change-Id: I99e9f68e8e9f8019e4d22ce5d7874d4cdac285e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193474
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins
2025-11-06 09:35:48 +01:00
Jussi Suominen be15fe550b tdf#114441 change the type of nHex parameter to sal_uInt64
The sal_uInt64 type should be appropriate for the nHex parameter because
the Out_Hex function's buffer holds up to 16 hex digits. To represent
the full range of those 16 hex digits you need a 64 bit value. Each hex
digit requires 4 bits, so 16 hex digits require 64 bits: 16 * 4 bits.

Change-Id: I21f73e7c7076368294df28fb009bf04aab983742
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193309
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-11-06 08:24:59 +01:00
Neil Roberts d4c463c04b Shortcut LocalizeDigitsInString if locale already uses arabic digits
Instead of calling GetLocalizedChar for every character in the string to
be localized, we now just call a replacement function that returns the
offset to apply for digits. That means that in the likely case that the
offset is zero we can skip scanning the string altogether and just
return the original one.

Change-Id: I8b1ffa3ba38d5a8ed491668c7c1a242327bce626
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193462
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-11-06 08:19:10 +01:00
Mike Kaganski c9c84aea32 Use group separators to clarify literal designating date
Change-Id: Iecc550d17cb928f46bc3cc594711830c0f0d0ccf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193508
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-11-06 08:08:46 +01:00
Noel Grandin 1b4d6fa2b3 mso-test: order of c:numFmt element in chart.xml
This is using the test document from tdf121279-1.odt.
When importing and exporting to XLSX, the order of elements is wrong
according to officeotron.
Move some code around in ChartExport to get that right.

Change-Id: Id09328520c05ebb35074b4bb451d08572a9c831e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193439
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 0a8060e6d5cf7a7f1ce4b54c6019bb56995e57f6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193481
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-06 06:58:07 +01:00
Neil Roberts fede6f817f Change the Unicode character used in the bullet point test
Apparently U+107B5 isn’t in the version of Noto Sans used by Debian so
the test fails for them. Seeing as it doesn’t really matter what the
character is as long as it’s outside of the BMP, let’s change the test
to use a character that is available in Debian to make things easier for
the package maintainers. I checked whether the new character should be
available by downloading the DejaVu Sans package from
packages.debian.org.

Change-Id: Ie0bd8d1e141ee41e84727bf7dee4f523a65ef210
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193497
Tested-by: René Engelhard <rene@debian.org>
Reviewed-by: René Engelhard <rene@debian.org>
Tested-by: Jenkins
2025-11-06 06:28:19 +01:00