Age | Commit message (Collapse) | Author |
|
Use the existing sorting functionality in SfxItemPool and extend it to
search for NameOrIndex item in SvxUnoNameItemTable
This is a little tricky in that we are defining only a partial ordering
over the CntUnencodedStringItem (and their subclasses) items.
Partial because I can only use the part of
the item that is not randomly mutated by various code, which is why
the other fields in the subclasses are mostly out of bounds.
I had to exclude FillBitmapItem because it triggers a unit test
failure and I cannot figure out why that specific item does
not play nice with this optimisation.
After this optimisation, the load time goes from
3.6s to 2s on my machine.
Change-Id: I52d58c68db2536b69a7b0a9611a2b4c703bc4928
Reviewed-on: https://gerrit.libreoffice.org/71461
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Make CntUnencodedStringItem sortable, implementing operator<.
This takes the load time from 4s to 3.3s
Change-Id: I532cdf65149a733d41d2caf367675800d2ba4d41
Reviewed-on: https://gerrit.libreoffice.org/71460
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I165d417a8e28d5732945722158b83e2ac5edb402
Reviewed-on: https://gerrit.libreoffice.org/71388
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
(1) Migrated all still existing binary load/save stuff
in SfxPoolItem to legacy files. Isolated from Item
implementations. Adapted all usages. No more methods
Create/Store needed, also GetVersion removed
(2) Removed operator= for SfxPoolItem. Adapted all
usages. Goal ist to handle Items more as Objects
('Object-Oriented') in the sense to move/handle
instances, not to copy one instance over another one
(which is more and more problematic with hard to copy
content as UNO API stuff or similar). This lead to
much more usages of std::shared_ptr which correlates
well with future plans fr Items (see dev branch).
Next logic step will be to also remove copy constructor
Linux build and corrections done
Fixed Writer test and removed unused defines
Fixed another unused m,acro
Started to unify the AutoFormat stuff
Changes to OUString constructor usages, tests completely
No idea why, but SfxStringItem constructor which
takes a OUString& now insists of not getting ::OUString's
handed in - changed all 'SfxStringItem.*OUString.*".*"'
accordingly
Change-Id: Ibed7358b18fb019994a7490332b9d797a6694c29
Reviewed-on: https://gerrit.libreoffice.org/71075
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
use template to make return type match input type, so we don't need to
cast at the call sites
Change-Id: I1e65f362c67f74c9a230cdbc1db12545b28eb499
Reviewed-on: https://gerrit.libreoffice.org/71216
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Some hot-spots around dynamic_cast of SdrHint, so avoid that by creating
special SfxHintId::ThisIsAnSdrHint
The most common CPU hot-spot was in SvxShape::Notify, the other changes
are just for consistency.
Also remove some dead code in ScShapeChildren, the Notify method was
doing nothing useful.
Change-Id: I696db1fcafc09bb10bf23ac673de292746141491
Reviewed-on: https://gerrit.libreoffice.org/71108
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This takes the loading time from 15s to 14s.
Reduce unnecessary allocation/copying by passing down ownership of the
newly created ScPatternAttr to the item pool
Change-Id: Iec38bbff572d10ff8d86f5e65fbe9a96b6a5a706
Reviewed-on: https://gerrit.libreoffice.org/71010
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This takes the loaing time from 1m38 to 15s.
Speed up finding existing pool items in the pool by storing a
sorted_vector, sorted by a compare operator on the item.
memcmp is faster than operator< on std::vector because operator< seems
to be trying to use some kind of lexicographical compare
Change-Id: Id72527106d604adb8cd2d158bb42f89e2b16a85d
Reviewed-on: https://gerrit.libreoffice.org/71009
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Since we want to look up items by pointer, just store them in a
std::unordered_set, which allows fast find().
This dramatically simplifies most operations on this data structure.
Fix a dodgy sd test that was relying on items with the same whichid
being in the pool being in a certain order.
Change-Id: I4d79fc718f95e3083a20788be1050fbe9fca7263
Reviewed-on: https://gerrit.libreoffice.org/70881
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Only add the correct type to new signatures to avoid breaking the hash
of old ones.
Change-Id: I30f892b292f84a0575a3d4ef5ccf3eddbe0090ca
Reviewed-on: https://gerrit.libreoffice.org/70424
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Icc67c31d6a2351b6504429e25067c25353233f5f
Reviewed-on: https://gerrit.libreoffice.org/69947
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
The removed code was extracted to MSODocumentLockFile class
so use that class here too.
Use openStreamNoLock() for reading MSO lockfiles, because otherwise
we can not read lock files written by MSO.
Change-Id: Ib31cb9f3783d0b0ce784f900821047b9d32156f2
Reviewed-on: https://gerrit.libreoffice.org/69759
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
|
|
Added a new compatibility option to the Tools -> Load / Save ->
Microsoft.
When this option is set on the UI or or set in the configuration files
LO generates lock files for MSO supported file formats, similar to
the lock files MSO generates itself.
Change-Id: I2f882723841162add01be9d3f7285a5162a60331
Reviewed-on: https://gerrit.libreoffice.org/69678
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
|
|
* Implement writing of MSO lockfiles
* Grab the already implemented parsing code (tryMSOwnerFile method)
and put it together into one class
* Add tests about the generated URL for lockfiles and the lockfile content
* MSO lockfiles are not written yet by LO, next step is to integrate
this code into the locking mechanism.
Change-Id: I3b0ed1975cd57dfd006d4e1890b23c307890de5c
Reviewed-on: https://gerrit.libreoffice.org/69582
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
|
|
If a complex enough document is loaded into Writer and saved as ODT,
then the content.xml's automatic paragraph styles (P<num>) are
re-ordered on each save, which leads to unnecessary noise.
The actual random order is created during import by the time we convert
direct formatting (e.g. from HTML import) to autostyles, as
StylePoolImpl::maRoot stores autostyles in a map that orders autostyle
parents based on their pointer address.
This has benefits like automatic ordering of item sets and fast
comparison, so don't change that, but extend the svl API to also track
the name of those parents.
This way by the time StylePool::createIterator() would iterate over
those autostyles, it can order the parents by their name, so two
import->export runs will result in the same autostyle ordering.
(This appears to be the only indeterminism in content.xml for a test
HTML input, while meta.xml and settings.xml still changes all the time.)
Change-Id: I1cfcae2c664a5c5c3dee48be733046979c1593ed
Reviewed-on: https://gerrit.libreoffice.org/69469
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Anz -> Count
Change-Id: I26f85cee2dff12377dbf0b21f8ad7b98d15b95c3
Reviewed-on: https://gerrit.libreoffice.org/69103
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
this is the single biggest chunk of stuff my upcoming paramtypedef
loplugin will warn about, so do it separately
Change-Id: I412e69e76406d6d947101885d4cd92c65e021508
Reviewed-on: https://gerrit.libreoffice.org/68486
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and simplify SvAddressParser
Change-Id: I8333b4442dca69e46ad14c952436b98e40089a8c
Reviewed-on: https://gerrit.libreoffice.org/68199
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
- clean up SwSection..Hint: Lazily reusing the Dying HintId is evil
- switch the SwChartDataSequence to SvtListener
- add some description to RuntimeException
Change-Id: I897a63030f207cabe4d1ba7de0c25c6c581ffd1f
Reviewed-on: https://gerrit.libreoffice.org/65816
Tested-by: Jenkins
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
This does not really work: even when it seems to, it compiles only
because of transitive includes
- Filter o3tl/typed_flags_set.hxx in f-u-u
- Remove already added fw declarations from hxx files and
include full header just in case
- Remove now unnecessary blacklist entries
Change-Id: Ie0de6667af697095a623b435806449e7e28a6004
Reviewed-on: https://gerrit.libreoffice.org/64659
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
...but for safety, leave the configure.ac check in for some longer.
o3tl::array_view::max_size (include/o3tl/array_view.hxx) and
o3tl::basic_string_view::max_size (include/o3tl/string_view.hxx) started to
produce loplugin:staticmethods warnings, which I silenced by /not/ making the
functions static. Those classes are meant to be temporary drop-in replacements
for standard classes (std::span slated for C++20, prev. std::array_view; and
std::basic_string_view, resp.), so should have the same behavior as their
standard counterparts (and making the functions static would likely cause
loplugin:staticaccess warnings at call sites).
Change-Id: If21674dbf02886f453ca447544e37b184df5a25e
Reviewed-on: https://gerrit.libreoffice.org/64768
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I26d11f60f486f3cfe4615828a410789f8e22af48
Reviewed-on: https://gerrit.libreoffice.org/64602
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia33ac2dfa23bdc4e2990e6d028d1bae7fedfe4f5
Reviewed-on: https://gerrit.libreoffice.org/63853
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
|
|
u8 literals incompatibly change their type (as implemented by recent Clang
trunk)
Change-Id: Ia4f7b91f5d86656a056303d2754981ab2093a739
Reviewed-on: https://gerrit.libreoffice.org/63494
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I1408fd35a50a95e12895979b797548c89f7f4c74
Reviewed-on: https://gerrit.libreoffice.org/63469
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Ide75232858599c275e023c2300201090acd22307
Reviewed-on: https://gerrit.libreoffice.org/63237
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I720d7d4920ae9c2f5d74ad827e1e214a62fe81a9
Reviewed-on: https://gerrit.libreoffice.org/62947
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: I10e5ad02243c7045d51191c735163ee4a027126e
Reviewed-on: https://gerrit.libreoffice.org/62695
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
accidentally left it this way when doing
commit 19e715973e15f9e7cf6e8237643dbbc14f8eb87a
Date: Mon Oct 29 16:15:27 2018 +0200
loplugin:useuniqueptr in MarkedUndoAction
Change-Id: I250676df7af27f485c5d34281ef0da1e127eb24c
Reviewed-on: https://gerrit.libreoffice.org/62694
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ic06b990112df5bc135cfd7af6f1129580f294428
Reviewed-on: https://gerrit.libreoffice.org/62509
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I444c43b9d549977039f25bec2b5bf666c3e15e0e
Reviewed-on: https://gerrit.libreoffice.org/62041
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Change-Id: I709122cb8cd7c257e7eb2bd564c529689e6d555a
Reviewed-on: https://gerrit.libreoffice.org/62350
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which seem to have snuck back in since the great rounds of removals.
Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1
Reviewed-on: https://gerrit.libreoffice.org/62229
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I11483e3cece12a7373f4276972b4c899edf1ce15
Reviewed-on: https://gerrit.libreoffice.org/61566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
this reverts
commit a20ec3b5cd691ae18f0d87d045673ce3a06579c6
fix iterator invalidation assert
and
commit 4a290888580474f9542f185091bb2a6fcf4e9a53
SvtBroadcaster unify the normal and PrepareForDestruction paths
no idea what is going on, I suspect that std::vector is re-allocating
its data buffer despite having called reserve()
Change-Id: I681ae5fca4578240a2a0dc0af51ff06d919f9099
Reviewed-on: https://gerrit.libreoffice.org/61464
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I0f9c5b471b6db799b2194096f5d40c8adeb027d7
Reviewed-on: https://gerrit.libreoffice.org/61119
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This mostly affects explicitly defaulted functions that had recently been user-
declared to silence new GCC trunk -Wdeprecated-copy. It is not entirely clear
to me what the best approach is overall, see my mail
<http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20181001/245321.html>
"Re: r343285 - [cxx2a] P0641R2: (Some) type mismatches on defaulted functions
only", but lets just explicitly delete those functions for now.
Change-Id: If8c72f612f67a8feb8b03c2fb988c807e704ef03
Reviewed-on: https://gerrit.libreoffice.org/61259
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I7630532624a778b7a1b6897f0b51b7eeffeb19b6
|
|
need to flush existing broadcasters before overwriting
Change-Id: If570b838d0313ab7598b36ff8a32fc6d31dea92c
Reviewed-on: https://gerrit.libreoffice.org/61151
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
SvtListener already enforces this
Change-Id: I0389668af12013addfdbeec7a5e92a9d374193dc
Reviewed-on: https://gerrit.libreoffice.org/61150
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and we don't need to use equal_range on a sorted and uniqued vector,
lower_bound will do
Change-Id: I3f967c04b43432875e3d4de75e6e87bfdef40dc8
Reviewed-on: https://gerrit.libreoffice.org/61135
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
implemeent a reduction approach, which is good at finding virtual
methods that only themselves or their virtual partners.
The accessibility GetVisArea stuff is dead since
commit 891e41fac81fbd8d5cdb277b26639abfd25a7143
Date: Wed Apr 4 11:23:22 2018 +0200
dead code in AccessibleTextHelper_Impl::UpdateVisibleChildren
Change-Id: I78d9d8bca585ecec8394f2c3fe2baa93db0e58f5
Reviewed-on: https://gerrit.libreoffice.org/60912
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
there is really no need to point to an impl which points to a
std::vector
Change-Id: I73c47cf3056a24d909e77b9b4cf9d9ae57c19c04
Reviewed-on: https://gerrit.libreoffice.org/60588
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
As the requirement for persistent keyword index values is gone,
let's rearrange the keywords to a more logical and also gapless
order, which allows to get rid of the cumbersome multiple loops in
ImpSvNumberformatScan::GetKeyWord().
Change-Id: Ic1a034acc5f42f593b147a1baf377f1600fac118
Reviewed-on: https://gerrit.libreoffice.org/60692
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
|
|
The requirement for persistent keyword index values is gone since
long. Remove the NF_KEY_UNUSEDn place holders.
Change-Id: Idcc1b621d88884ebcefb3ba4e7865d4f2db4ce51
Reviewed-on: https://gerrit.libreoffice.org/60643
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I81d465d66a979e9a1e092e5d23ed339840d1fb2d
Reviewed-on: https://gerrit.libreoffice.org/60315
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I1a7bdfc00352c25f5d2db9ef195000d16f909537
Reviewed-on: https://gerrit.libreoffice.org/60263
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Currently all a11y notifications get send out immediately, which often
ends up formatting the document before it is ready. With the current
EnterBlockNotifications()/LeaveBlockNotifications() system it is difficult
to find all places that need blocking and any change in the a11y code
might require additional blocking in unpredictable places. By queueing
all notifications by default and only sending them out when the document
is ready, we can make sure that it can't be corrupted.
Change-Id: I9599c7b57eb5b8f8f0575de57fcc8bab171f78ff
Reviewed-on: https://gerrit.libreoffice.org/58703
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Also handle rounding/scaling better in ImpGetTimeOutput() for the
[] duration formats, of which [HH]:MM:SS(.0000000) is used to edit
time values.
The wall clock change made it necessary to adapt some test cases in
Test::testUserDefinedNumberFormats() where M_PI formatted to
date+time actually is 1900-01-02 03:23:53.60527 with second 53
instead of the previously rounded 54.
Change-Id: I242a6c753a24281e041d3f73af019bdd77c65b37
Reviewed-on: https://gerrit.libreoffice.org/59857
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I56db3db23361590b5d2c09bc8f6f23a02ccd7f60
Reviewed-on: https://gerrit.libreoffice.org/59570
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|