Commit Graph
100 Commits
Author SHA1 Message Date
Noel Grandin cf4a1c42d6 merge expwrap into sax library
there is no need for 2 shared libs for such a small module

Change-Id: Id28c9038f3e16931bfb8af3532eca172998da1aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152374
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-30 08:45:46 +02:00
Noel Grandin 8de6e211b7 tdf#155410 move some layer/object visibility computation inside SdrObject
which has the nice effect of
(a) removing some duplicated code
(b) being more efficient with deeply nested complex objects

Change-Id: Ifee10d40fca3faac0f5a7b79febdba756850f30f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152124
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-23 14:36:47 +02:00
Noel Grandin 8cc51cf988 tdf#155368 Can't toggle Wrap Text on all cells if cell already has
The problem is not so much that we cannot toggle, it is that we
cannot unset a toggle property.
And the reason for that, is that the state of the toggle never
goes off because the view state as computed by
ScViewFunc::GetSelectionPattern is different
from the state that is seen in ScViewFunc::ApplySelectionPattern
where we apply the pattern.

So make the same shrink-data-area adjustment in GetSelectionPattern.

Change-Id: Ic56145ee98ead931278767851f74e0ce7422a150
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152074
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-22 08:04:44 +02:00
Noel Grandin fdd06037e0 improved B2DHomMatrix
since we know that this is a matrix only used for 2D transforms,
we know that the last row of the matrix is always { 0, 0, 1 }.

Therefore, we don't need to store that information, and
we can simplify some of the computations.

Also remove operations like operator+ which are not legal for
such a matrix.

Change-Id: I482de9a45ebbedf79e3b6033575aab590e61c2d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151909
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-18 21:18:06 +02:00
Noel Grandin 35dca0ad62 use more optional in i18npool
Change-Id: If813a8bc339013c58f1b2d1f45f05b58d57f0abe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151724
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-14 08:58:57 +02:00
Noel Grandin 07af6b1c38 simplify
no need to use a map here, a set will do

Change-Id: I8e8b35f390ffba5b7da6caa52eb3e33d3b50d354
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151723
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-13 14:56:16 +02:00
Noel Grandin 5dc82f62d5 use more optional for CharClass
Change-Id: I67984321b8f38928bfab9fb0b624620e7d286a11
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151722
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-13 14:56:06 +02:00
Noel Grandin 3168d1ab07 use more optional for SdrObjListIter
Change-Id: Iffd99d820889a1a5be514d46191ffaa2a6fa6910
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151721
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-13 14:55:56 +02:00
Noel Grandin 31e2b4746a improve some usage of OInterfaceIteratorHelper4
we can drop the lock immediately after construction (since
the iterator holds a thread-safe COW link to the underlying listener
container)

Change-Id: I08f8fa9ed7393747938572097f3c25f5f3f847fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151440
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-07 08:00:46 +02:00
Noel Grandin dbcf188d39 remove unnecessary method
the call to GetObjectItemSet() in
OleProperties::ForceDefaultAttributes() is unnecessary, because
it is always called before ForceDefaultAttributes is called, and
having removed that, the rest of the method becomes unnecessary too.

Change-Id: Ibb09020837d47cb9eb1fb8b5deca1defc1465108
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151237
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-02 12:15:50 +02:00
Noel Grandin 7a1f2f0b99 use more specific class in sdr::table::Cell
mpProperties always points at a CellProperties object.

Change-Id: Ie78d015a23b48c5b40cbf3564974870e49a0b2af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151239
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-02 12:15:35 +02:00
Noel Grandin ff307906ce elide temporary copy
Change-Id: I3818767811ee92b39f475533144d0163a7e6931e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151236
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-02 07:12:46 +02:00
Noel Grandin 6e0eb7da06 rename field in GroupProperties
to distinguish it from the similarly named field in the
DefaultProperties superclass.

Change-Id: I8512c1a60e360a1e31ceaa86a8ff63ebe068d0cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151185
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-29 21:16:45 +02:00
Noel Grandin 601db233f5 remove dodgy code in OReadToolBoxDocumentHandler
comparing hashcodes without doing an actual comparison
is not safe.
Code was like this since
    commit 6845330a22
    Author: Carsten Driesner <cd@openoffice.org>
    Date:   Wed Oct 17 09:57:37 2001 +0000
    #87255# support toolbar item style and help id

Change-Id: Ie49647da257e6199d9502c916da2dd3d39d52377
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151136
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-28 08:24:45 +02:00
Noel Grandin a33922e38b optimise find/insert calls to maps
Instead of doing two lookups, we can just call insert and
then update the mapped-to value if the insert actually succeeded.

Change-Id: I3df3b98f0debe6bf74c739dd5850e7714d9c2789
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151030
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-28 08:23:04 +02:00
Noel Grandin e5e4472e4e use more concrete UNO type in SwFieldType
Change-Id: Iffb0ffad6daf102299fa7ce072bfc117cdf38b55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150589
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-19 11:25:21 +02:00
Noel Grandin 55adcc8d56 use more concrete UNO type in SwTableAutoFormat
Change-Id: I5c36a268a76afcf7af5829dc7f873f4410f68298
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150588
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-19 09:03:30 +02:00
Noel Grandin 7f3df1a07d use more concrete UNO type in SwXTextTableStyle
Change-Id: I19b556a5fc2ee9f475478b16e228aa3670146551
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150587
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-19 09:03:20 +02:00
Noel Grandin 6f6a31d3e3 use more concrete UNO type in SwBoxAutoFormat
rather than hiding the relationship behind XInterface

Change-Id: Ie5e6e527d39ab2b4a26ae7830a196b354d2a6f04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150586
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-19 08:07:08 +02:00
Noel Grandin ac30e6bfb6 convert XmlShapeType to scoped enum
Change-Id: I1fd3d995508eed507d07de11c4f60f05d075b84f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150528
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-18 09:43:04 +02:00
Noel Grandin 94e505b9ff no need to perform lookup twice in XMLShapeExport::seekShapes
Change-Id: I833da530fdc43233e14482a17a60beadb6ef6043
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150530
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-18 07:51:55 +02:00
Noel Grandin e870d996ef use more string_view
Change-Id: If4523dc2c89d1fb1c5e11665ee60044834fcecd4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150458
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-17 07:54:12 +02:00
Noel Grandin abc09fe149 remove dead code
it is easier to see that is dead if you look at the code
prior to eec42f0dbc, when we
were using unique_ptr, which means that the pointer comparisons
could never be true.

Change-Id: I2e8608e468868a1f6b657a90b3db580334ec0490
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150457
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-16 18:31:37 +02:00
Noel Grandin ad97694737 tdf#154501 - Fileopen PPTX: Table with rotated text wrong
regression from

    commit eec42f0dbc
    Author: Noel Grandin <noelgrandin@gmail.com>
    Date:   Sun Aug 15 17:35:58 2021 +0200
    pass OutlinerParaObject around by value

where some of code I converted needed to be mutating the
OutlinerParaObject that something else held, rather than mutating
a local copy.

Change-Id: Ib91dddb3fc0d4190868f9fd59becb0d366af5e19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150376
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-14 07:53:23 +02:00
Noel Grandin 5dba03b200 pack the ImplPropertyInfo struct
Change-Id: I08d163824ca0ed4fdba91d1e0d4d7f076c64a4dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150190
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-10 21:51:58 +02:00
Noel Grandin 9ff063eeab use std::unordered_map for static properties in toolkit
which is faster than binary lookup

Change-Id: Ia810313af36c75fd9b5b241704f0cbd66afcb6b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150189
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-10 21:51:49 +02:00
Noel Grandin e57d5daaea fix leaks when using tools::JsonWriter
Specifically in sd/source/core/annotations/Annotation.cxx

We seem to end up fixing leaks here often.
The current tools::JsonWriter API is just very hard to use correctly.

So rather return an OString, which is cheap to copy,
and push that down into the LOK code.

AFAIK that seems to end up requiring less code and less adhoc copying
of data (specifically the queueing code in init.cxx was creating
copies when converting to std::string).

Ideally, we could have some special API to avoid the new strdup()
calls in init.cxx, but not sure how to prevent other people
from accidentally using that.

Change-Id: Ia33437c1bfd9cc2d54dfb99914d1b72db20335f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149963
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-05 17:02:46 +02:00
Noel Grandin 89170bc271 make some methods final in chart OPropertySet
so that the subclasses use the right overrides to implement custom
behaviour

Change-Id: Ida9d1de51b5595c4d9532a5c98a220bf39d9a208
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149940
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-02 22:10:24 +02:00
Noel Grandin 8f6dd1fde5 map->unordered_map in chart OPropertySet
no need for ordering here

Change-Id: I7e0928284c98aca297d4452e65efd8a4f3b1e56d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149941
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-02 21:45:04 +02:00
Noel Grandin 0b32750a8d remove IEventNotificationHook from comphelper::OPropertySet
this class is a copy of cppuhelper::OPropertySet, and this
feature is unused in that class too, so we are not likely to
need it

Change-Id: I9e3f0f7d786052f87f5a18c67e9b78409752fd99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149942
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-02 21:13:59 +02:00
Noel Grandin 84646117ba fix locking in chart::Diagram
we can't return a reference to internal state that needs to be protected by a mutex

Change-Id: I13c0128559546cc2078584fc0de818c568617b7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149914
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-01 21:57:57 +02:00
Noel Grandin 6726fef691 pack the UnoControlComponentInfos struct
Change-Id: I18ab490074051831dd31b3953308e372ca2b469f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149904
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-01 18:09:50 +02:00
Noel Grandin bfdf5d290b use more XVclWindowPeer
Rather than using it's superclass XWindowPeer and implicitly relying on it being XVclWindowPeer and casting it everywhere.

Change-Id: Icfb46f3b920d00f4a167a31803a71bbb0368d05c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149894
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-01 14:42:17 +02:00
Noel Grandin f2b027d5cd no need to call lock() here
notifyEach was changed to lock the mutex before returning.

Change-Id: I0dc0e11e51e28890e98035cf8356846f9b49c436
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149575
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-25 07:23:01 +00:00
Noel Grandin e7dbef922a rtl::Static to thread-safe-static
Change-Id: Ife02e6d2be3ebfbb08522ab0183ef4aa31a99e19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149415
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-23 19:49:25 +00:00
Noel Grandin 7ecc9925f3 mutex in OOXMLFactory_* is unused
Change-Id: I55cf235919df3c19019ca5d280f10f6720cc4f15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149416
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-23 17:07:20 +00:00
Noel Grandin b2db6b7586 rtl::Static-> thread-safe-static in chart2
Change-Id: Ie1379a1d40a6d65b28fd94ed114853e399fea5f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149339
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-23 06:12:09 +00:00
Noel Grandin 1131b090ed rtl::Static-> thread-safe-static in chart2
Change-Id: I5bd595d5251cd92904750d6e6830f1d95f41b177
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149338
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-23 06:12:00 +00:00
Noel Grandin 4e8f36fcd4 rtl::Static-> thread-safe-static in chart2
Change-Id: Ie629e4e2d4e3a56894bc964b8bb50dac5823cf4c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149337
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-23 06:11:52 +00:00
Noel Grandin 604c464e35 osl::Mutex->std::mutex in xmlscript::DocumentHandlerImpl
Change-Id: If956c1e09e0185e7966edc17e2941b3f5d86c98f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147681
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-28 07:01:32 +00:00
Noel Grandin 09680fadbc no need to hold CollatorWrapper by std::unique_ptr
allocate it inline, it is only one pointer in size

Change-Id: Idb6217e6c9c37da92427aa6c497223a84015c553
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147742
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-27 05:43:11 +00:00
Noel Grandin bee4402c7e no need to hold SvtSysLocale by std::unique_ptr
allocate it inline, it is only one pointer in size

Change-Id: I736f3322784897054993fbddd423f36357f817c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147741
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-26 19:50:19 +00:00
Noel Grandin 6d404f9cca make create_virtual_device not use a separate alpha layer
so that the gtk and the normal path do the same thing

Change-Id: I69bb7be98e5834b0f20db66a67b3c37cc9d09676
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-23 06:12:39 +00:00
Noel Grandin 07699b6e78 osl::Mutex->std::mutex in AnimationNode
Change-Id: I9a07afcdf17ca464e6a1083fbd7ec1e1f7186a30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146369
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-31 08:20:30 +00:00
Noel Grandin ba4191ff0d osl::Mutex->std::mutex in ImplEventAttacherManager
Change-Id: Id8a4d2d75b1be8f23f6b1260a7a7727ab6bbd27b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146368
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-31 06:04:59 +00:00
Noel Grandin d33dbd8d3b no need to take SolarMutex when calling Idle::Start
but it is wise to hold our own mutex while accessing our own field

Change-Id: Ic66ab8dde5711e0a91b6c31cebf42a6066e638b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146309
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-30 06:41:57 +00:00
Noel Grandin ec4babad02 no need to lock SolarMutex over the whole method here
Change-Id: Ifcac67c0f4e149fe7e1d923d7efede9552b034a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146308
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-29 18:03:48 +00:00
Noel Grandin 6a26d47a79 use std:mutex in PropertySetContainer
instead of SolarMutex, we don't need to lock SolarMutex here,
we are not touching any UI stuff

Change-Id: I09f2dfd2c5e6e082066a726f8c6d64b4b136a78d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146307
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-29 18:03:38 +00:00
Noel Grandin 02c4386a09 move presenter console from sdext/ to sd/
It really wants to part of the main sd UI where it can interact
nicely with the existing logic, instead of using awkward UNO
APIs.

Change-Id: I6e0d486275515d48abe3438b88d4f58d4bee58fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145913
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-21 16:23:19 +00:00
Noel Grandin 7195e2740e cleanup commit for Submission
The following commit missed some stuff:
    commit fc41f4d58c
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Sat Jan 14 12:41:58 2023 +0200
    XUnoTunnel->dynamic_cast in Submission

Change-Id: Ic27a813e360ae39227cd68213d2899ab64f0dee5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145688
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-18 05:01:26 +00:00
Noel Grandin c68606ca09 maAlphaMask in BitmapEx should be AlphaMask
Change-Id: I12dd1881c2896ab2970a0d149048a36d1aee9c9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145243
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-12 06:52:55 +00:00
Noel Grandin 4ddfdeefe7 remove dead code
we already know the IsAlpha is true from the outer if condition

Change-Id: I627a9b952cb63154baf773b6162b422de4f253bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145157
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-07 11:29:52 +00:00
Noel Grandin 0461eb7564 flatten some code in vcl
Change-Id: I29638408d60bfa02609ed58839829ed51d319e98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145045
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-05 17:00:54 +00:00
Noel Grandin 5de1d0472b use sal_uInt8 for maMatFlag
which is way more cache-dense than double

Change-Id: I04503eb3a4054cce5312a7a0048c9b6679a8fd16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145018
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-04 15:36:08 +00:00
Noel Grandin a76a135c9e flatten some vcl code
Change-Id: I3747c9ccc97ac59a2e41c1fe4427d1a2f458352a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145017
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-04 15:35:56 +00:00
Noel Grandin 5244e7cab7 split OutputDevice::CreateMask method
to make it easier to understand, very little of the code is shared
between the nTol == 0 and the nTol != 0 cases.

Also flatten the code structure a little.

Change-Id: I601b9046a6678a5dcf2176dbfe565a9a4e7299d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144962
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-02 20:23:10 +00:00
Noel Grandin efda8aa8ee remove dead code
this code has been dead for some time, no need to keep it anymore.

Change-Id: I9c553fa7460bda5331f5908311783207bf88be17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144927
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-01 20:24:51 +00:00
Noel Grandin 5230836875 use more GetAnchorContentOffset
Change-Id: I0c5f1bbe04a1888bb20a0aaba207d3787bff250b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144884
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-31 20:15:28 +00:00
Noel Grandin c6f756e968 tdf#152676 Writer: Compatibility options no longer saved as default
regression from
    commit 78adf246d5
    Date:   Mon Jul 26 10:54:36 2021 +0200
    return SvtCompatibilityEntry from SvtCompatibilityOptions::GetList

where I mistakenly assumed that the bIsDefault flag in
SvtCompatibilityEntry was being set by the SvtCompatibilityOptions
code. Rather remove this field if it is not going to be maintained
properly.

Change-Id: I23963ae885563d5abc8a99cfd144d7fe00c6f192
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144882
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-31 07:49:03 +00:00
Noel Grandin 62ed082ee0 tdf#152683 LO Draw ignoring Undo:Resize Grouped Object
regression from
  commit 4e24efb563
  tdf#54857 elide more dynamic_cast

Change-Id: I4fbabe64649ee47a9360dd939b5f39d35bd29c51
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144858
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-29 12:25:25 +00:00
Noel Grandin 98448a2521 merge SwapFile into ImpSwapFile
no need for this

Change-Id: I0367582adb616a00f260b5d78b63d288068b7d15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144857
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-29 11:38:08 +00:00
Noel Grandin 9645e4003c use TempFileFast for vcl graphics swapout
which is considerably faster on Windows when there is lots of
system RAM available.

Change-Id: I6ebde79af06f4e969231089783f1d4109f70ea94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144851
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-29 10:27:11 +00:00
Noel Grandin 1b9ca3689d try to fix shutdown crashes in ConfigurationWrapper
associated with
    commit 7df433cdc3
    optimize ConfigurationProperty::get()

it seems it introduced
https://crashreport.libreoffice.org/stats/signature/void%20rtl::str::release%3C_rtl_uString%3E(_rtl_uString*)
which, at the moment, is the most reported crash in
https://crashreport.libreoffice.org/stats/version/7.4.3.2

We need to tie the lifetime of ConfigurationWrapper and the cache
objects together, so they die as one unit, otherwise the
unpredicatable ordering of destruction of static objects is a
problem.

Change-Id: I80db5a4c28510a68f40b919902b01f3981e32bfb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144840
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-27 17:23:17 +00:00
Noel Grandin d640bfe776 remove dependency from drawinglayer to framework
to try and untangle the dependency mess a little.

This means

(*) tunneling a piece of information from VCLXWindow via
the XWindowPeer::getProperty method, so
we do not need to directly call VCLXWindow.

(*) moving some formpdf code from framework "down" to vcl,
where the drawinglayer code can use it

Change-Id: I2c1ff3e34941b3147e66cf0a2d0fdb13293e3aa2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144341
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-19 06:42:39 +00:00
Noel Grandin 73e062be1f blind fix for some 7.4.3.2 crashes in UpdateCheckJob
I am guessing that state in this object is being touched from
multiple threads (since it is an UNO service object), and one or
more of the threads are consequently seeing inconsistent state.

Change-Id: Ib925740d3b8db2713c4f132d0367b794a412a269
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144248
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-16 06:34:35 +00:00
Noel Grandin 8011b16e05 Use BitmapEx in BitmapPrimitive2D
we no longer need to wrap it in the framework XBitmap
implemenation

Change-Id: I0dc56ad63364e2c5a4cedd5e70d4ae7ea7eae563
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142746
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-16 07:57:00 +01:00
Noel Grandin 4d863fd8e3 tdf#54857 elide more dynamic_cast
Change-Id: I42bef355eeef15e3733a5ee57b0569887cfa5e84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142183
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-02 20:30:29 +01:00
Noel Grandin a6cf6ac1f6 tdf#54857 elide more dynamic_cast
Change-Id: I0cbdb2ee46600559d9a37f09b574d484e72a0e0d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142133
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-02 13:30:14 +01:00
Noel Grandin 4e24efb563 tdf#54857 elide more dynamic_cast
add a helper, following the same style as the ones in sw/

Change-Id: I13c673bba5ff47df6beef9d90c200e5801030cf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142119
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-01 19:53:23 +01:00
Noel Grandin 1dc8b2b9ce simplify logic
we know bSearchUsed is already false here. It has been this way since initial commit.

Change-Id: I598b02fedaa71f07d6f24928c5b9d56761970e3a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142055
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-31 10:19:58 +01:00
Noel Grandin b4b63d0c46 try to fix some shutdown crashes
seen in 7.4 crash reports

Change-Id: I4c88d485e2e1925895f23861232823ebe97c0c8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141936
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-27 21:03:29 +02:00
Noel Grandin 65368d40be add a comment
Change-Id: Iefaf4124327f89277605b1092da2db8b28ef05e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141913
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-27 19:05:30 +02:00
Noel Grandin 9fd78b7421 tdf#133767 speed up temp file creation
Use a GUID so we can avoid needing to check if the filename
already exists.
Shaves 2% off the export time.

Change-Id: Id08104b187365eb35c84639254263329a8218a41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141664
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-22 10:34:21 +02:00
Noel Grandin 8cbc179ace use more TempFileFastService in scripting
Change-Id: Ic04abad55e655fa0e0434bd09f797c6f1b2cc245
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141649
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-22 09:11:21 +02:00
Noel Grandin 0df36d45b6 use more TempFileFastService in xmlsecurity
Change-Id: I905e1e126e96195212887feb190e87f7f4da5adf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141646
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-22 08:30:55 +02:00
Noel Grandin db8f0528eb use more TempFileFastService in svl
Change-Id: I798a7bb773028aba059f058d4e65e7b2e845c015
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141647
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-22 08:28:33 +02:00
Noel Grandin ac5f11d86c use more TempFileFastService in chart2
Change-Id: I064246a8b649bdd6a7751c456ec935c819505057
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141651
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-22 08:28:11 +02:00
Noel Grandin 848f9b2c56 tdf#133767 new service TempFileFastService
to use in places where we know we can use the TempFileFast mechanism.

Speeds up export to EPUB from 43s to 17s on my windows machine.

This is essentially a copy of OTempFileService, but it does not
implement XTempFile (because these temp files have no name on Windows).

Also remove a couple of calls to Flush() (which is not necessary now),
and TellEnd(), which is a little slow on Windows.

Change-Id: Iced300bf8121eae08c7a011d62ec68b93330d84c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141598
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-21 12:01:05 +02:00
Noel Grandin 8f1f2ba78d rearrange node logic here
so we don't have to touch SwPosition.nContent.

Part of the process of hiding the internals of SwPosition

Change-Id: I02fed4998b68edaca4ef3014bc64cca85af7fcdc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141279
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-13 11:19:24 +02:00
Noel Grandin 1d76a3dfea this adjust not necessary
rPaM's nNode and nContent is already kept in sync here

Change-Id: Ic79bcf8f950767885e117848475ccbebc4f6537e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141251
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-12 15:32:55 +02:00
Noel Grandin 2e78c92dfe use unique_ptr for SystemFontList, fix leak
Using unique_ptr here fixes a leak, which in turn was hiding
the fact that we don't manage the lifecycle of CTFontDescriptor
in CoreTextFontFace properly

Change-Id: I2ade5fae9a40ad0ebb10538488018941f3f285c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140916
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-12 13:09:24 +02:00
Noel Grandin 7aa0d01818 rearrange node logic here
so we don't have to touch SwPosition.nContent.

Part of the process of hiding the internals of SwPosition

Change-Id: I797eec2b4ccb01360602f2f19ae4a7a51fe712fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141235
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-12 12:39:15 +02:00
Noel Grandin 7ad2225217 try to make CppunitTest_embeddedobj_msole more reliable
It sometimes crashes on windows. Switch to using the same
tearDown() logic as UnoApiTest::closeDocument, which
seems to be the most reliable variant of this kind of code.

Change-Id: I1493d6d265763b2aec4ee94f4ee66378dbe280b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141238
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-12 10:29:17 +02:00
Noel Grandin 8e39704b59 use more SwPosition::SetContent
part of the process of hiding the internals of SwPosition

Change-Id: I8a0de56c9e42adda71cffe8b79daca5a8e7a23a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141213
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-11 19:07:56 +02:00
Noel Grandin ce9273e72f avoid accessing SwPosition.nContent
part of the process of hiding the internals of SwPosition

Change-Id: I3a32cc601983313c29805603b1c0aa3f990d6b08
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141208
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-11 18:03:16 +02:00
Noel Grandin 5f986951c9 avoid accessing SwPosition.nContent
part of the process of hiding the internals of SwPosition

Change-Id: Ie6bc1822ac2a4e5c601ba2a94a0d287fdf989c19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141207
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-11 18:02:52 +02:00
Noel Grandin 95933b725f no need to touch nContent here
part of the process of hiding the internals of SwPosition

Change-Id: I15ed83739b12aebe7c7cd7fbdd528fa0cd282582
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141212
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-11 16:49:29 +02:00
Noel Grandin f761e0aee5 use more SwPosition::Assign
part of the process of hiding the internals of SwPosition

Change-Id: I7685584b4f3b2c1f595146e87f8644f6d8feb1aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141206
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-11 12:17:25 +02:00
Noel Grandin c9d5f33a46 use more SwPosition::GetNode
part of the process of hiding the internals of SwPosition

Change-Id: Ib1a3a5bf1f3f875bbb02df523cbfd9c13b12c60e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141165
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-11 10:12:33 +02:00
Noel Grandin 696d5c865c re-arrange logic to avoid touch SwPosition::nContent
part of the process of hiding the internals of SwPosition

Change-Id: I43c994c5c3bcfd6e45bb14b90cd19ba4d9cddada
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141145
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-10 17:58:45 +02:00
Noel Grandin 221d762600 simplify assignment
pSttPos and pSpellArgs->pStartPos point at the same thing
(and similarly for pEndPos), so no need to assign to them twice.

Change-Id: I45a99187d07b24afa0667154e121e32557a389d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141142
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 21:04:40 +02:00
Noel Grandin b484e5d9e0 use more SwPosition::Assign
part of the process of hiding the internals of SwPosition

Change-Id: I20842b90d0abb4435d6b06970c2545229268e5e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141097
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 19:16:29 +02:00
Noel Grandin 495788cedd use more SwPosition constructor
part of the process of hiding the internals of SwPosition

Change-Id: I074f72d9bd2bac82b71cdcc7cdf165f07417dd8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141140
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 15:02:04 +02:00
Noel Grandin b9b184b3d4 use more SwPosition::Assign
part of the process of hiding the internals of SwPosition

Change-Id: Ibfd5e03966a96338e987b8794c49e6ac92f02153
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141141
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 13:48:50 +02:00
Noel Grandin a46ccc36d4 avoid accessing nContent field of SwPosition
part of the process of hiding the internals of SwPosition

Change-Id: I04917cb80887e82b873f5e778fd9f54f0615b38d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141139
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 13:48:28 +02:00
Noel Grandin 8f9e625ebc use more SwPosition::Assign
part of the process of hiding the internals of SwPosition

Change-Id: I3b21c87b402fe0d4d0137fdb8d383a6e08189f9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141138
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 13:33:06 +02:00
Noel Grandin dfac5bf18b tdf#151424 Spider web chart drawing error
regression from
    commit 333ccb081b
    Author: Noel Grandin <noelgrandin@gmail.com>
    Date:   Sat Feb 5 14:58:07 2022 +0200
    use more concrete types in chart2, Axis

Change-Id: Ib80bbec9f08b9fafa6ee1c8d0cace8b44fdadabc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141135
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 13:24:27 +02:00
Noel Grandin 1a86be9089 tdf#151417 crash in draw, activating Form controls
regression from
    commit 8611f6e259
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Thu May 27 10:27:46 2021 +0200
    ref-count SdrObject

Change-Id: I1798cead8ed72ad59799c40d0e99f3424f9e382b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141134
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 12:09:46 +02:00
Noel Grandin f17bd77105 use more SwPosition::GetNode
part of the process of hiding the internals of SwPosition

Change-Id: Ia080b5bf4ca622e3bf0279ba41d8ccdd11e0be8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141123
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-09 09:22:26 +02:00
Noel Grandin 1868dd67c9 add another SwTextNode::CopyText variant
part of the process of hiding the internals of SwPosition

Change-Id: I79c21a370918566c7d93008a62ff9843d3bfe3fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141115
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-10-08 20:11:34 +02:00