100 Commits
Author SHA1 Message Date
Noel Grandin ce16bc37fd use more concrete UNO class in the form of ScModelObj
Change-Id: I9ad26f05635583e203ff338a88add65838c9188e
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/555
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 0a6ee7a99d6a5d624c4303256cc385ca6e23d456)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211619
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-10-01 09:01:29 +02:00
Noel Grandin 49044478b3 use more unique_ptr in FormulaTokenArray
Change-Id: Ife00f7e119e4870a3584ae7d766d9debd6220217
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/632
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit b80addae75093d947065f0e41e1a1aebd2c89a03)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208282
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-21 09:02:36 +02:00
Noel Grandin 9e8f3ae474 use more frozen::make_unordered_map in SwContentTree
which means this map is constructed once at compile time, instead
of every function call.

Change-Id: I9227f99996380eacc84f12fbf084713f2cfaf49a
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3392
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 9d0b7db053ba990618dbaa09a53e5d7c1dcfb8df)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206430
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-14 10:24:50 +02:00
Noel Grandin dcbe928a4f simplify SdStyleFamily
it is very confusing to have (1) a pimpl that is sometimes there
and sometimes not and (2) to have the same fields in the pimpl
struct and also on the parent instqnce.

Change-Id: Ie647e4d1867d44373f31d3cf2fc75f9e1fdcf060
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/1310
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 1adc2ed48e8b8ef4fd14e8f6d597ead0d5c5accf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206325
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-10 22:27:41 +02:00
Noel Grandin f8c6890b51 reduce virtual calling in ScJumpMatrixToken
similar to
  commit f47fc9a67f16a3da1e5cbcc8b821682298ec90b3
  reduce ScRefListToken virtual calls

Push the GetJumpMatrix() method down to the only subclass
that actually uses it.

Change-Id: I74f6bb889178a97a4c5fb7820cbd56173c370d8f
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/792
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 8ddef1a007ca1635a34aa423f68dcbebda286ceb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205263
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-05-17 18:22:06 +02:00
Noel Grandin e8363140b8 reduce ScRefListToken virtual calls
The existing FormulaToken method call structure is weird.
Methods that can
only be usefully be implemented by subclasses should only
exist in those subclasses.

So start the process of pushing those virtual methods down to
subclasses, where they mostly no longer need to be virtual.

This means more casting of pointers and references to subclasses
so add some utility templates functions to make that less
verbose i.e. PopToken<T>

Also return more specific sub-class type in the subclass Clone
method.

Change-Id: I97722b1c9ef9cf952928777767552ac7a5f47b56
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/790
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Reviewed-by: Balázs Varga <balazs.varga@collabora.com>
(cherry picked from commit f47fc9a67f16a3da1e5cbcc8b821682298ec90b3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205258
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-05-17 14:37:10 +02:00
Noel Grandin ef8956230e fix crash on Windows in JunitTest_chart2_unoapi
no idea what changed to make this happen more often, but it
looks like a latent issue. The problem is that the chart code
is calling dispose() on vcl stuff, a Toolbox in this case, which
happens to be in the middle of a paint, and then the Toolbox
crashes. Work around it by adding some more checks for
isDisposed().

The disposing stack looks like:
32: ToolBox::dispose - 0x7ff9dbc857d2
31: VclReferenceBase::disposeOnce - 0x7ff9dbeaf969
30: VclPtr<ToolBox>::disposeAndClear - 0x7ff9f451be23
29: framework::`anonymous namespace'::VclToolBarManager::Destroy - 0x7ff9f450d86d
28: framework::ToolBarManager::Destroy - 0x7ff9f450d29b
27: framework::ToolBarManager::dispose - 0x7ff9f451bbf8
26: framework::ToolBarWrapper::dispose - 0x7ff9f4522b61
25: framework::ToolbarLayoutManager::destroyToolbars - 0x7ff9f43a9562
24: framework::ToolbarLayoutManager::reset - 0x7ff9f43b99b3
23: framework::LayoutManager::implts_reset - 0x7ff9f4392c87
22: framework::LayoutManager::frameAction - 0x7ff9f438cb54
21: `anonymous namespace'::XFrameImpl::implts_sendFrameActionEvent - 0x7ff9f4404c85
20: `anonymous namespace'::XFrameImpl::setComponent - 0x7ff9f440a6ed
19: `anonymous namespace'::XFrameImpl::close - 0x7ff9f43fbbea
18: chart::ChartController::notifyClosing - 0x7ff9d529ddbd
17: comphelper::OInterfaceContainerHelper4<com::sun::star::util::XCloseListener>::NotifySingleListener<com::sun::star::lang::EventObject>::operator() - 0x7ff9d54eb919
16: comphelper::OInterfaceContainerHelper4<com::sun::star::util::XCloseListener>::forEach<comphelper::OInterfaceContainerHelper4<com::sun::star::util::XCloseListener>::NotifySingleListener<com::sun::star::lang::EventObject> > - 0x7ff9d54e4f7f
15: comphelper::OInterfaceContainerHelper4<com::sun::star::util::XCloseListener>::notifyEach<com::sun::star::lang::EventObject> - 0x7ff9d54e5157
14: apphelper::CloseableLifeTimeManager::impl_doClose - 0x7ff9d5606c82
13: apphelper::CloseableLifeTimeManager::g_close_endTryClose_doClose - 0x7ff9d5606719
12: chart::ChartModel::close - 0x7ff9d54ee527
11: `anonymous namespace'::cpp_call - 0x7ffa5b9e3d9a
10: unoInterfaceProxyDispatch - 0x7ffa5b9e4e2a
9: binaryurp::IncomingRequest::execute_throw - 0x7ff9f576eed7
8: binaryurp::IncomingRequest::execute - 0x7ff9f576dfb2
7: request - 0x7ff9f578a856
6: cppu_threadpool::JobQueue::enter - 0x7ffa593b7f82
5: cppu_threadpool::ORequestThread::run - 0x7ffa593bfc96
4: threadFunc - 0x7ffa593c083c
3: oslWorkerWrapperFunction - 0x7ffa1190b17a
2: register_onexit_function - 0x7ffa59552ec5
1: BaseThreadInitThunk - 0x7ffa80a67374
0: RtlUserThreadStart - 0x7ffa80e5cc91

Change-Id: I12c2b63ffa2cc84248d19610baf52a5418474b25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202748
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-27 08:36:43 +01:00
Noel Grandin e77b23fa1c Fraction->double in MapMode
Change-Id: I865fe1c2b0377eebda6f9f19e163928cbe7c9056
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202631
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-26 13:23:37 +01:00
Noel Grandin e8702e6a5d Fraction->double in ImplMapRes
Change-Id: Ic391d65eae0d971b5dedf98bd88ae1a1a551988d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202327
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-24 10:02:04 +01:00
Noel Grandin 6432190d03 Fraction->double in SwAccessibleMap
Change-Id: Ia51eeabf8c794d72539c744ecef68e2437378cfc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202402
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-24 07:38:25 +01:00
Noel Grandin bda2d1fb21 Fraction->double in SwPageFootnoteInfo
Change-Id: I2766a5a97538240af16c7e5fbf520e6f2f39b978
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202401
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-24 05:34:52 +01:00
Noel Grandin c30361f254 Fraction->double in SdDisplay
Change-Id: Icc0c1f62b6b3453e974d2bfd9cdfa4e9a5726dad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202400
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-24 05:34:41 +01:00
Noel Grandin 41a98d9b82 Fraction->double in ScDrawView
Change-Id: Iafa0d2a03602d249443ff1236d3b1813bdc1c6ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202399
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-24 05:34:31 +01:00
Noel Grandin 8c4871201e Fraction->double in LOKCursorEntry
Change-Id: I88148de920ff6ed50290b566f9e3e755fbc8119d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202398
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-24 05:34:20 +01:00
Noel Grandin e9698991ec maFraction in PPTWriterBase is static data
it is never modified

Change-Id: I329e3bcbad1981dfe57f47b31dadea0a17ee81d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202376
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-24 05:34:06 +01:00
Noel Grandin 8c9521d5a9 Fraction->double in ImageMap
Change-Id: Ief79dc21e44a743b251592c2f0162d61a8e5aef0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202326
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-23 09:39:43 +01:00
Noel Grandin cb1da4662f Fraction->double in GDIMetaFile
Change-Id: I10343479423a94272df30423c3dd910d02bde42d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202325
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-23 07:06:06 +01:00
Noel Grandin 0e40cab8b4 Fraction->double in SetOutputSizePixelScaleOffsetAndLOKBuffer
Change-Id: Ie049437a68ff4957206fd845665144f63919e54e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202324
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-23 07:05:42 +01:00
Noel Grandin 6ead4fad33 Fraction->double in vcl::Window
Change-Id: I5628be6ae9f3c37c6b96dbfa8c029bffa51dc471
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202311
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-22 20:20:15 +01:00
Noel Grandin a7a44cb89a cool#15052 reduce time spent calculating selection outline
when it gets complex the solvePolygonOperationOr() algorithm
becomes rather expensive. But we can do much better in this
case since we know we only have rectangles.

Change-Id: I2fdfce7925e843e25f11890dac2c96ce21f3be67
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202261
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-22 14:08:45 +01:00
Noel Grandin b4a1f8ebf8 Fraction->double in conversionFract
Change-Id: I3a4cf3f85699543f528604a4a50e7a390c75c392
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202310
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-22 12:52:42 +01:00
Noel Grandin 22df9df691 Fraction->double in SfxObjectShell
Change-Id: Ic89e23b30448474ad8ab94b6ee51e44a4d67dd7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202309
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-22 12:52:33 +01:00
Noel Grandin f0b8b12d4f fix crash in ControllerState::update
seen on jenkins

Change-Id: I1db6afda3899375c8cf097d7d94be57d2a02c226
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202294
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-22 07:37:34 +01:00
Noel Grandin 50e9d3d566 flatten getCurrentSelection a little
Change-Id: I874bc1223aa9c1a2f909d82b928aa3a7011182c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202225
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-21 12:45:05 +01:00
Noel Grandin cff0defd2c Fraction->double in FrPair
Change-Id: Ibfee97e8b778bae6d93be852c78ab518285ca27c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201745
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-21 12:44:23 +01:00
Noel Grandin 4b4be2f51d tdf#166226 avoid some allocation traffic
Shaves 5% off the load time

Change-Id: Ie8702b4a5c5d9d37b326e3532970ef26622c7cc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202256
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-21 08:26:17 +01:00
Noel Grandin 6ac395530d tdf#170803 Insert a hyperlink crashes when system clipboard empty
I can see no reason why we should throw an exception here.

Change-Id: Ia98dc97c4fd25c4ca9102ef02be5851c0a4f7dd5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202204
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-20 06:20:47 +01:00
Noel Grandin 9c4e67cf47 Fraction->double in ResizeMarkedGluePoints
Change-Id: Iaee1c1a7827d14a94e60d152e0000f18adff86e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201746
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-18 18:53:08 +01:00
Noel Grandin c3c424ed97 Fraction->double in SdrModel
Change-Id: I2610c235d29b450a0ad8600ed312cbea92ae2715
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201744
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-18 18:52:57 +01:00
Noel Grandin 6e8a77d0bb Fraction->double in SdrModel
Change-Id: Iace435987028618c5e2d5ff4b5f1fa65dc15a2a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201743
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-18 18:52:44 +01:00
Noel Grandin 7b05f23507 add comment to assert
for the next person who triggers it

Change-Id: I50ad7ed922f39b040b776d859b4ea5b02c6d97aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201943
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-18 15:01:59 +01:00
Noel Grandin 38c6bf2364 no need to store SvViewDataEntry separately
Change-Id: Icb370ef6aa88a6c53939e61055507096649464bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201872
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-18 08:02:24 +01:00
Noel Grandin 7228086fe3 Fraction->double in CalculateNewScaling
Change-Id: I701afaa206aec1c1ec83afd593035e2154de57df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201739
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-18 08:00:20 +01:00
Noel Grandin 870327bdd7 Fraction->double in ResizeMarkedPoints
Change-Id: Ifbbda6fe045b3c2cae6363a56875bd5af04c8af8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201738
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-18 08:00:08 +01:00
Noel Grandin 4ce81e4302 Fraction->double in ImpSetCharStretching
Change-Id: I8f191c9491ba475e58b00abdcde388005b937b96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201737
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-18 07:59:46 +01:00
Noel Grandin 5c66e050a5 Fraction->double in ResizeMultMarkedObj
Change-Id: Ic91d5e20d0de17f73b2ff1b12c7092a5236d2627
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201736
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-18 07:09:19 +01:00
Noel Grandin f7829ece89 Fraction->double in SdrDragStat
Change-Id: I075253de02b9cc44703f99befd09cb43a01272e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201735
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-17 06:58:36 +01:00
Noel Grandin ace2a49912 Fraction->double in SdrEditView::ResizeMarkedObj
Change-Id: I26ab911b680ded4d27a453154b6d8802a22154d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201734
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-16 14:44:47 +01:00
Noel Grandin 1e0c448ebe Fraction->double in SdrObject::Resize
Change-Id: I01a7fa3303fdbc3db5e8b259f7bdb9631d64bd74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201733
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-16 12:28:50 +01:00
Noel Grandin 900c75afe4 Fraction->double in SdrSnapView
Change-Id: Ifca95344cce8f576fa3105440188e9a24a4c9e26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201732
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-16 09:35:09 +01:00
Noel Grandin 23059df35a Fraction->double in SdrDragResize
Change-Id: I8ef1e2c29d524ec2089564515ce7d5fc883d21dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201727
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-15 12:25:37 +01:00
Noel Grandin 23ef4be9b8 replace SC_OPCODE* with oc* constants (1)
I note in moving comments around to preserve them that ocXor
is in the wrong place, but it has always been that way, so I will
leave it alone.

Change-Id: Ia5fd59e96c478fe5f30788554cc260059a1c46e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201510
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-12 09:06:58 +01:00
Noel Grandin 9cf8591e35 ocCall is dead
since
  commit 2c8fe2e737
  Author: Noel Grandin <noel@peralex.com>
  Date:   Mon May 16 10:11:04 2016 +0200
  update unusedmethods plugin to deal with constructors

Change-Id: I1730eafc44516bfcf4095d08c93616ec16fa58f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201492
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-12 06:43:36 +01:00
Noel Grandin 058e98ee2f tdf#166226 speed up stack operations in ScInterpreter
There is no need to allocate this separately.
Shaves 10% off the load time here.

Change-Id: Ie70b1cf78aee4689e7369a9320c29223a0f19877
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201133
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-07 11:13:19 +01:00
Noel Grandin 16cc2fbe40 tdf#170406 Thumbnails for some documents rendered with artifacts
regression from
  commit 07fd24a4bd
  Author: Noel Grandin <noel.grandin@collabora.co.uk>
  Date:   Sat Aug 2 09:15:36 2025 +0200
  BitmapEx->Bitmap in ThumbnailView

Change-Id: I24ffd28e789f904c999b2759df41f2e15f328e0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200790
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-02 14:28:38 +01:00
Noel Grandin 373585ad05 no need to allocate this on the heap
Change-Id: I8302375dd3a4f94df287c0b7c59eb3e8d4319ad4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200557
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-27 10:01:24 +01:00
Noel Grandin 6c16c0c7e9 use more SfxWhichIter
Change-Id: Ieb8f300768d513b5048352c44770b57c04bba6d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200349
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-26 09:32:47 +01:00
Noel Grandin fa002b6244 fix asan heap-use-after-free
Seems like recent font/pdf related changes have exposed a latent
bug(?) in the SvMemoryStream class. Specifically, writing to
SvMemoryStream using a source pointer that points inside the SvMemoryStream
data buffer causes trouble when the buffer is re-allocated.

Make SvMemoryStream tolerant of this, although it is a rather
dodgy use-case.

READ of size 177 at 0x531000155fe7 thread T0
  SvMemoryStream::PutData(void const*, unsigned long) /tools/source/stream/stream.cxx:1578:5
  SvStream::WriteBytes(void const*, unsigned long) /tools/source/stream/stream.cxx:1195:26
  vcl::filter::PDFDocument::WriteCatalogObject(int, vcl::filter::PDFReferenceElement*&) /vcl/source/filter/ipdf/pdfdocument.cxx:577:27

freed by thread T0 here:
  in SvMemoryStream::FreeMemory() /tools/source/stream/stream.cxx:1694:9
  in SvMemoryStream::ReAllocateMemory(long) /tools/source/stream/stream.cxx:1671:9
  in SvMemoryStream::PutData(void const*, unsigned long) /tools/source/stream/stream.cxx:1569:22
  in SvStream::WriteBytes(void const*, unsigned long) /tools/source/stream/stream.cxx:1195:26
  in vcl::filter::PDFDocument::WriteCatalogObject(int, vcl::filter::PDFReferenceElement*&) /vcl/source/filter/ipdf/pdfdocument.cxx:577:27

Change-Id: I2613ed66cec600b7f44e575a56f6a97c0ff3053d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199959
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-25 09:12:11 +01:00
Noel Grandin bb1550681c merge OOXMLDocumentImpl and OOXMLDocument
Since everything is in one module (sw) now, this split is no longer necessary.

Change-Id: I5eae7fc503b99f2f701c81f47a5622941e9d3d5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199011
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2026-02-24 14:14:01 +01:00
Noel Grandin adc3cbe787 use more SfxItemIter
which is more efficient when all we want is the SET items

Change-Id: I0d90090e9501922ccf9b89674f3aa7bae4c1c012
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200068
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-23 19:47:24 +01:00
Noel Grandin 471259c32e use more SfxItemIter
which is more efficient when all we want is the SET items

Change-Id: I874cc30ad114a81ae325caf21b575e45586b4856
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200065
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-23 19:47:16 +01:00
Noel Grandin 8dd92537cc use more ScopedVclPtr<VirtualDevice> in create_virtual_device
which requires making the move constructor explicit in
ScopedVclPtr.

Change-Id: I2e4caec45c27ed444a81c121d426a5988bd65015
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200005
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-02-23 17:30:22 +01:00
Noel Grandin adab4f4ddc use more SfxItemIter
which is more efficient when all we want is the SET items

Change-Id: Ie2aa290a4546f408a58b74423acd54351282d179
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200009
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-23 10:14:10 +01:00
Noel Grandin 2e063bf91b speed up SfxItemIter
take some branches out of the hot path, which means
converting some places to for loops.

Change-Id: Idcac06f27761994e2554f723662f242a38d3778c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199853
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-21 12:38:26 +01:00
Noel Grandin 21c09b87db tdf#168647 speed up copy of DataTable chart cells (2)
Improve how sdr::Cell handles setting multiple properties at the same
time.

Takes the copy time from 8s to 4s for me.

Change-Id: I3370ebace7641d8bbb4ea67f4ee205c039da810e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199624
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-20 17:44:23 +01:00
Noel Grandin 55d8d9f907 tdf#168647 speed up copy of DataTable chart cells
Apply properties in bulk, rather than one at a time.

Takes the copy time from 12s to 8s for me.

Change-Id: Ie341a4a7e84ac3672b220ab846ae453352fd0d71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199623
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-19 07:00:49 +01:00
Noel Grandin ba462fddf5 remove SwFontObj cache
makes approx no difference to memory consumption when loading
a 100+ page document, and shaves 5% off the load time.

Change-Id: I72a19338ea52e806cc763e5cd9d2bb1c2dfd7033
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192107
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-12 12:09:56 +01:00
Noel Grandin d254e813f4 move var closer to use
Change-Id: I557765b4c9af4c28955c1310644ce3be88035a03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199120
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-11 09:38:30 +01:00
Noel Grandin 66900d3759 XTextAppendAndConvert is only implemented by SwXText
so all users of that in writerfilter can use the concrete class

Change-Id: Idd2e994ada5294a8be1bfa007a0925d68a40b1b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199090
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-11 07:15:45 +01:00
Noel Grandin d616561e0d use more concrete SwXText class
Change-Id: I94e9642eee47b58b54ff28edab01f41929fc72ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199089
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-11 07:15:34 +01:00
Noel Grandin 3fd0800f00 fix appendAscii
where we should be appending to the buffer, not writing
to the start.

regression from
  commit fba849c048
  Author: Noel Grandin <noel.grandin@collabora.co.uk>
  Date:   Tue Jan 27 13:29:55 2026 +0200
  tdf#148218 reduce OUString allocations

spotted by mike kaganski

Change-Id: Ifc8ad791126b8279b39208d0cd18ba68b28c9be8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198884
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-07 20:18:19 +01:00
Noel Grandin a4f0e30df3 tdf#170595 reduce exception throwing overhead
where we are just going to ignore the exception anyway

Change-Id: I2c05d94e2cf3582ca005aa4765bad0be85041895
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198641
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-06 15:46:26 +01:00
Noel Grandin 2ac14cf4e7 tdf#170595 apply SwXStyle properties in one call
instead of one at a time, which avoids some overhead

Change-Id: I7aad2abf87dfc97b966527c824cc80b74f8b94f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198610
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-06 15:46:13 +01:00
Noel Grandin 14b3529245 tdf#170595 simplify SwXStyle::SetPropertyValue<HINT_BEGIN>
and avoid constructing an intermediate SfxItemSet

Change-Id: If30ee2276d181adb3d4164086a08d909a3c6dac2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198601
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-05 09:29:33 +01:00
Noel Grandin 572508a390 tdf#170595 elide some exception throw overhead
which we are just going to ignore

Change-Id: I4921a1871437f3d51733e790e631290aa40d1389
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198600
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-05 09:28:05 +01:00
Noel Grandin f81cdc295b tdf#170595 no need to call HasListCharStyle
if we are just going to create a new style anyway

Change-Id: Ib7c70b1fe64bd12ed2e500c0fee686f45b94985f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198599
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-05 09:27:45 +01:00
Noel Grandin a015bd6ed7 tdf#170595 StyleSheetTable::getOrCreateCharStyle can take const param
Change-Id: I3fee3375096069cbb68bedbcf3a72a3bd1bdb8ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198598
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-05 09:27:23 +01:00
Noel Grandin 2b0502bf9c tdf#79654 shave some time off hot loop
Change-Id: Ib947c10c7595cbb79bf06c968ef5e210e2484bcd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198567
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-03 07:13:55 +01:00
Noel Grandin 6bdf3b5eb9 fix deadlock seen on ubsan build
Change-Id: I57996c0df31b435ef6680cc19ff224c5e6b028ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198483
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-01 13:40:23 +01:00
Noel Grandin 0c22a0dd8d tdf#166121 speed up de-duplication by merge deletes
apply the same logic as commit 1b5b22902e
but to columns this time.

Change-Id: I3bcd5f11640aa8349b8f4d983d113810f63c6a53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198379
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-30 06:55:35 +01:00
Noel Grandin 1b5b22902e tdf#166121 speed up de-duplication by merge deletes
takes the de-dupe time from 4s to <1s,
and the undo time from 14s to <1s.

Change-Id: I31835775d2c005059fc133c1f88ecff84733251e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198376
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-29 20:52:47 +01:00
Noel Grandin eef514e5c3 tdf#166121 split lcl_CheckInArray function
to make the different cases easier to optimise

Change-Id: I4c59fbf7586d137de5f270b88457ff1880d6adfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198375
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-29 20:52:35 +01:00
Noel Grandin 8b2a0bbd24 tdf#166121 inline lcl_RemoveCells
to make it easier to optimise

Change-Id: If190a8b9f41bcf32fc3c27226d4b21879e190f34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198374
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-29 20:52:24 +01:00
Noel Grandin f9fcd884a3 tdf#166121 split HandleDuplicateRecords method
into two different methods for the different cases, so we
can optimise the remove case more easily.

Change-Id: Id57875f2b28b7ac5909b32c7df3dbfb817642e82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198373
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-29 19:09:29 +01:00
Noel Grandin 4344720b31 use more concrete UNO classes
Change-Id: I7323b845b2088186a7239fb86af34ac8723bfafd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198372
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-29 19:00:22 +01:00
Noel Grandin 47f06e904e simplify control flow
Change-Id: Idc328e8f1e89c88834f178870baa8599dcceb3e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198371
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-29 18:23:42 +01:00
Noel Grandin ca534064c5 use more concrete UNO in ScTabViewShell
Change-Id: Ibd9ce1d7a5cb5a7012c9c99235234ca16818f871
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198370
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-29 18:23:32 +01:00
Noel Grandin e61af384e0 ubsan: call on null pointer in CppunitTest_sd_uiimpress
probably after
  commit 829544185d
  Author: Mohit Marathe <mohit.marathe@collabora.com>
  Date:   Mon Nov 3 16:39:05 2025 +0530
  sd: remember canvas page zoom

[_RUN_____] testTdf129346::TestBody
/sd/source/ui/view/viewshe2.cxx:647:27: runtime error: member call on null pointer of type 'SdPage'
in sd::ViewShell::RememberPageZoom(unsigned short) /sd/source/ui/view/viewshe2.cxx:647:27
in sd::ViewShell::SetZoom(long) /sd/source/ui/view/viewshe2.cxx:408:5
in sd::NotesPanelViewShell::SetZoom(long) /sd/source/ui/view/NotesPanelViewShell.cxx:369:16
in sd::NotesPanelViewShell::Construct() /sd/source/ui/view/NotesPanelViewShell.cxx:158:5

Change-Id: If2b61f5a51d069b27ec84c1a4b859ba7a2c442a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198333
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-29 08:44:20 +01:00
Noel Grandin 2b27652d2d tdf#167892 fix hang formatting very small number on windows
Workaround undefined behaviour where llvm/gcc produces different
code from MSVC, resulting in oscillation in this algorithm.

regression from
  commit 44d17f8feca372acd41142d1b607d3360282bf30
  Author: Eike Rathke <erack@redhat.com>
  Date:   Tue Oct 13 21:41:45 2020 +0200
  Resolves: tdf#137453 Implicit conversion from sal_uInt64 to sal_Int32 is bad..

Change-Id: I486e8caabcbf582cf94b47547efc89d1b206503e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198163
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-27 08:38:36 +01:00
Noel Grandin 41aaaf062f fix comment
Change-Id: I18f7023eab19a4cef028bd13f8231f304641b07b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197615
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-20 09:29:55 +01:00
Noel Grandin 4bfb385887 use more frozen::unordered_map
Change-Id: I04a89864e38e7b16c164f62da27074b9518caf83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197395
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-18 20:00:23 +01:00
Noel Grandin d50a0ffd01 flatten convertToOOEquation a little
Change-Id: I9b5a7c881ffe315178d48af09bf20331508a49a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197394
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-16 09:00:56 +01:00
Noel Grandin 0c1df806d9 tdf#169934 Transparency is lost when applying a duotone filter
regression from
  commit df4873973e
  Author: Noel Grandin <noelgrandin@gmail.com>
  Date:   Wed Aug 27 20:25:54 2025 +0200
  simplify Graphic::applyDuotone

Change-Id: I69a3da35b53355488c2d6a1f1288048d4096bc6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197298
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-15 07:06:59 +01:00
Noel Grandin a83869739c officeotron: fix order of sub-elements of tblCellMar and tblBorders
Change-Id: I05b4cacb310cdb78f9683cdb0472de383432c6d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196974
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins
2026-01-12 12:42:28 +01:00
Noel Grandin 9dbcbe39fb these tests pass validation now
Change-Id: Iefbff01adfc975d3ad50ff65ab964beb44d4c8d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196855
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-10 14:21:33 +01:00
Noel Grandin 14b94a4b0e these tests pass validation now
Change-Id: Ibddaa7900b5d9216b719e9b77cb8a067d46bc7a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196852
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-10 12:16:53 +01:00
Noel Grandin 8356048c73 add comment for next person who tries to solve this validation issue
I don't feel like playing with the callback based importer and
exporter code.

Change-Id: I9ca87ccedf44b92b729eac479fdefa49cf7b0590
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196849
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-10 12:16:31 +01:00
Noel Grandin 9da54fbc26 use more TypedWhichId to avoid casting
Change-Id: I98eb7ce26161ec39ef8f8bd9a08315d58d32d0e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196850
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-10 12:15:45 +01:00
Noel Grandin 06ec063412 tdf#169914 dark mode + editing report + Windows + chart is broken
regression from
  commit 9791aaaa31
  Author: Noel Grandin <noelgrandin@gmail.com>
  Date:   Tue Aug 5 14:40:41 2025 +0200
  tdf#167643 Selection is black

What is weird here is that this is what I first tried when fixing
tdf#167643, and it did not work.

But now this change does work, and tdf#167643 does not recur.
Huh.

It still looks terrible, but at least it is visible now.

The report designer will likely need further work to support
dark mode properly, and likely chart rendering too.

Change-Id: I6b7ed5d073a73377edcb772ef016cdb53294eb9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196827
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-10 12:15:08 +01:00
Noel Grandin 11642917f6 officeotron: m:e element under m:d is required
Change-Id: I4a0a8e25163565446845baffe6eb5a5556f2abb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196853
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins
2026-01-10 12:13:00 +01:00
Noel Grandin a520104c86 officeotron: w:pPrChange is incomplete
the schema says w:pPr is required under w:pPrChange.

I dont understand the unit test I changed here, it was
added with:

  commit c2c08b7d0e
  Author: Adam Co <rattles2013@gmail.com>
  Date:   Mon Jan 13 13:55:05 2014 +0200
  Add unit-test for 'track changes - paragraph properties changed' preservation

But seems to be asserting that we __dont__ preserve w:pPr,
which makes no sense.

So fix that.

Change-Id: I536992bd3aec232f8dffda4f753c887148a877f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196786
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
2026-01-09 21:25:26 +01:00
Noel Grandin 40a68f9260 officeotron: w:del in wrong order
under the w:rPr element, w:del needs to come before w:lang

Change-Id: I0bf6ddc554c44ef978b62565d5be664af406a693
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196624
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-01-07 08:07:47 +01:00
Noel Grandin 707fa629bb some 'make uicheck' fixes for windows
(1) Fix a crash when calling a disposed listbox.
(2) Load files on the main thread, prevents deadlocks

Change-Id: I24e415bb589ef9cf9e0587725a9213257748ae45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196354
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-01-01 09:10:42 +01:00
Noel Grandin 90004b730e tdf#153554 fix crash when running python ODK tests
WinSalFrame has a single mbGraphicsAcquired flag
protecting two pointers to WinSalGraphics objects.
When two threads intersperse calls to AcquireGraphics
and ReleaseGraphics, things get very confused.

However, adding another boolean results in horrible
rendering artifacts because skia, unlike GDI, really
does not like two threads drawing to the same surface
via different WinSalGraphics objects.

So just have a single WinSalGraphics object, which
seems to fix things.

(But which might, of course, break other things
in this multi-threaded rendering nightmare we have)

Also make the UNO calls from the python tests
run on the main thread. This prevents various
deadlocks from occurring.

Change-Id: Ibef1a876508760b74bad7df9bee47c3ef956d2b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196171
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-12-31 11:18:48 +01:00
Noel Grandin 56384aa312 use more concrete UNO in pivot cache
Change-Id: I98934d9195a926c16481e14922d3a3022dad9d53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195994
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-12-21 07:43:05 +01:00
Noel Grandin 6fa110f141 re-enable PCH for skia
now that our baseline requires Visual Studio 2022.

Requires a single patch for a duplicate definition.

Change-Id: I16cf2185e8d8d6f2b8a696c24c9897326d7de644
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195878
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-12-19 17:29:20 +01:00
Noel Grandin a086036723 add asserts to WinSalFrame::ReleaseGraphics (tdf#169876 related)
to make it possible to catch similar problems earlier

Change-Id: Id129ea4fb74997d2414a05a257921721dd419cdb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195843
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-12-19 08:25:51 +01:00
Noel Grandin 2b6e7bf5c0 officeotron: elements under w:pPr element in wrong order
re-use existing logic to make this output in spec-compliant order

Change-Id: I5de88629295ee3eac1852fe67eedea4f1be7c087
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195394
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
2025-12-12 14:03:36 +01:00
Noel Grandin badb6c2b86 skipValidation is not necessary here anymore
Change-Id: Iaf5fdd0cf48971c0018bc901777c46cfa0be10d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195393
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-12-11 07:40:40 +01:00
Noel Grandin 31ed14cdc3 officeotron: w:spacing in wrong order
found by converting the document in testNumberedList to docx,
then running officeotron on it.

Change-Id: I090b38a9a2e74dd8ec1c64aa818d976e319f59b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195333
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
2025-12-10 09:51:09 +01:00