Age | Commit message (Collapse) | Author |
|
Breaks due to double use of LD_FLAGS (and duplicated embind
symbols). Lets back this out for the moment, needs some gbuild
debonging.
This reverts commit a09b1b9e68c2285289fbf36c7f5fb6a1677e8c39.
Change-Id: Idb1348a0b4a55894bb12a2c101d9460bb5e40222
|
|
Building and using soffice.html generated by emscripten and modified for
headless conversion.
Change-Id: Ic3800bc0632d241dce382f244f355f56f79ffec4
|
|
This reverts commit f814cc609f37d94075c32bddea97d7ba5b4fea32.
|
|
Exporting files to pdf and downloading it from the emscripten
virtual memory file system to the local file system with qt5 and emscripten.
What is working:
1. Uploading a file from the local file system to the emscripten memory
with 'Open file dialoge' and then opening it. In the same time export it to pdf.
2. Load an uploaded document with the LibreOffice Kit command:
- lodoc = _libreofficekit_hook(0)
- _doc_postUnoCommand(lodoc, allocateUTF8(".uno:Open"), allocateUTF8(
"{ \"URL\" : { \"type\":\"string\", \"value\":\"file:///android/default-document/{UPLOADED_FILE_NAME}\" }}"), 0)
3. Export the loaded document to pdf with the ExportDirectlyToPDF UI or with the LibreOffice Kit command:
- lodoc = _libreofficekit_hook(0)
- _doc_postUnoCommand(lodoc, allocateUTF8(".uno:ExportDirectToPDF"), allocateUTF8(""), 0)
4. alternatively, you can plant a file in the virtual filesystem prior
to LibreOffice bootstrap, and export headless, via soffice cmdline args
Change-Id: I8f03b0a057155afaa5f1ca0e3e451bb362a99769
|
|
A first patch to get some feedback. Asnyc LO popup menus are still
buggy, as I'm not sure where to call the PopupMenu::Finish for
them.
Also the XDialogClosedListener is currently just for convenience
and might want some separate notifier.
Fun fact, that ImplExecute / ImplPopup is called for submenu, but
then doesn't execute. And generally the naming of some variables
is IMHO wrong; I might also prefix Menu members with "m_" for
easier readability.
Change-Id: Id8b413aa6b4699201e58db0113649c6b224d33b6
|
|
Change-Id: I7681a3ed5af058cf4356509d54a2195e6d4833e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159641
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
* officecfg: deprecate Inet::Settings::ooInetFTPProxyName/Port
* ucbhelper: stop handling these settings
* sfx2: remove SID_INET_FTP_PROXY_NAME and SID_INET_FTP_PROXY_PORT
and usage from SfxApplication::GetOptions()
* shell: remove proxy config code from backends
* stoc: the JavaVM would have its "ftp.proxyHost" properties set based
on officecfg values; remove that
* sysui,vcl: remove protocol from KDE desktop files and file picker
Change-Id: Iba02676cf6e519e2fa60ba925209436d38e75f49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159500
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I20ae3c5df15502c3a0a366fb4a2924c06ffac3d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159487
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I115b5b05ed82f2f900bcd70ec4f52c7f749544e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159443
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Change-Id: I181b71c6072a61651b33835f76e8deebb5f8d58a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159371
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
Selected colors removed since hovering leads to selection
(or execution) and does not need a special color
Transparency for reccent documents and templates in start center
increased to make the difference to selected more clear
Change-Id: Iab52150cd5a93e2f6ff716921b2aa7d093018b3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159407
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
StartCenterThumbnailsHighlightColor and StartCenterThumbnailsHighlightTextColor
removed in favor of StyleSettings.GetHighlightColor and .GetActiveColor
Change-Id: I7005b17f6c48525c791f23ea99b7b68e7a67531b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159286
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
It was getting a null ptr for some reason.
Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: Ib3e285dc86cd3918b631b6993e9afb221994bfab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158727
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 6c7fd1dc50cbc3f8e61c741367223a4b4aefc98b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159337
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Ic2967d9fa24674ed61ab7a251bd2a584a74e4cea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158959
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
(cherry picked from commit 4e6848628cbff418896b7653eadac80c57ceaf25)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159336
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I5866e9990a4758fad4b1c2a5e26072c31658db89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158955
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
(cherry picked from commit fd08e16e96cfd2d84b9eb4200f35fa6b4b4e3bd5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159335
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Ia76e079da1f532b0a4ce9ba24de1b058deef5a12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158953
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
(cherry picked from commit 6a9c4306c9c8173ff99184199b18f24f05b35b51)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159334
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I4706fc04ee651e46fb12fe0fa18dbf2762cf95aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158949
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
(cherry picked from commit 0e2df8c3f229e8807c7a6713ca3ea519411537bd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159333
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I0194cd4548dbb44f9efce4c53c790c3eec938524
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158940
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
(cherry picked from commit e6caece707a7d6f3a3e397e6213be9af6054f148)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159332
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
In this way core log can be printed to the browser console.
This may help in understanding if some core event occurs earlier or
later wrt a client event.
Change-Id: I720ef9b149e98ddbc252aa069649019e79ef6cb8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158780
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
(cherry picked from commit d8dc138be7e69750d1a346b3b49cecc1201e8d46)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159331
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Idb76d58ab6036c9f38b0b76a3a240dcfb07d52a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159310
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
They still showed UI in case of signed macros.
Two decisions were made, to improve security of USE_CONFIG_APPROVE_CONFIRMATION:
1. In case of High macro security mode, valid but untrusted certificate will be
automatically rejected (because it is not safe to automatically add trusted
certificates) - so in this mode, USE_CONFIG_APPROVE_CONFIRMATION is the same
as USE_CONFIG_REJECT_CONFIRMATION;
2. In case of Medium macro security mode, valid but untrusted certificate will
not automatically allow macros execution, but will proceed to the following
checks - which on Windows will try to check the source's Security Zone, and
may disallow macros based on that. Only after Security Zone check the macros
will be automatically allowed.
Change-Id: I1a9c92c6b940b689599c5d106798ecfc691dad46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159214
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ib9f62be3acc05f24ca234dec0fec21e24579e9de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158911
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Ia4fac9b3313adc22e0f371cbff6828add474d097
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159174
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
1. Open document with editable DDE Link section in 2 views
2. View A selects content containing section and copies that
3. View A is closed
4. View B tries to modify section
Result: crash
Avoid destroying SwTransferDdeLink in SwTransferable::~SwTransferable()
what happens while calling RemoveDDELinkFormat in SwTransferDdeLink::DataChanged
by keeping reference to it while iterating in SvLinkSource::NotifyDataChanged()
Change-Id: Iba53a4c139f9d508d2f64bcc94b479761b84bf2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159040
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
we can't remove hack in SfxDispatcher::Update_Impl yet
because this made unit-copy-paste test in online broken
reverts part of:
commit 1a6d16cb14342f9a66f99960e96027af6e5369ef
lok: notebookbar: query SID_NOTEBOOKBAR only when requested to switch UI
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I8cd801bbc912f2ab3f710f5c7133445f07c4e5de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159039
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Additionally, get rid of a variable that was for system path,
but used "URL" in its name :-)
Change-Id: I77db0ae42677e2fef1431d45b1736d2e54ff26d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159156
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Not being able to obtain Security Zone info from OS is not a fatal
error here; just handle it accordingly.
Change-Id: Ifb19c88f2c08e99c313aecc54044252bac50f88e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159155
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I4136c2ced3be445b6e763aa20856fec3792cdcb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159154
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
It doesn't make sense to silently reject it here, but e.g., allow the
confirmation dialog for SignatureState::INVALID case; also, it was only
possible to get a silent execution of BROKEN-signature macros (in Low
security mode) vs. silent reject (in all higher modes) - which was not
good security-wise. Now it will result in the usual confirmation dialog
in Medium security mode.
Both BROKEN and INVALID signature states are made sure to not allow
automatically depending on the Windows Security Zone.
Change-Id: I41b0fc96b6bd00e960ae612e79fa1f0f1e06a069
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159153
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ibf5a0800d7b9410a6191e3be7deef1edd4725640
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159152
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This avoids a possible problem in High security mode, introduced in
commit 1dc71daf7fa7204a98c75dac680af664ab9c8edb (Improve macro checks,
2021-01-28), where a valid but untrusted macro certificate initiates
a UI asking to always allow this certificate; but no matter what user
chose, macros will be disallowed when the document itself is unsigned.
Now it will check the document signature state early.
Change-Id: If2255be5da19f3de0090154f0b891ed9496e7bc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159105
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Iae953c39abd66bf1a484590d322974382f25d278
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159173
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I05ef5346f5aab25b208aa058658353cf71e68e87
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159103
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I88da25f5f2819edd78fb95573c619cd8e3187469
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159102
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Commit 1dc71daf7fa7204a98c75dac680af664ab9c8edb (Improve macro checks,
2021-01-28) introduced a new requirement, that trusted macro signature
must be accompanied by valid document signature when the document has
events calling macros, otherwise macros are not allowed. But this breaks
multiple workflows, where security level is set to limit users' ability
to run unsigned macros, where documents aren't signed.
As the first step, limit the security hardening introduced in the said
commit to High security level; in Medium security level, restore the
previous behavior.
The plan is to fix more inconsistencies later, and then introduce a
new separate configuration to require document signature to allow
trusted macros (enabled by default), so that the combination of its
default value and the High default security level keep the hardened
default security implemented currently, while allowing users to opt
to the previous documented behavior.
Change-Id: I71ff0e531f3a42fbee7828982e4fd39f0e9d6ea3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159101
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: Ic35758357c18c9d172532819a3e8968fd66b26ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159100
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Id69d4d043d824b1a9e558bfc9395c4ff64da7c38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159099
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
To understand this, some look back in history will be needed to see
why it is as it is today. In some (reworked) comments 'poolable' is
described as flag to hold Items in the ItemPool, also always having
only one incarnation of each possible Item.
This is not the original intention, but a side-effect. The reason is
what the binary format in the office did: To save a document, the
Objects & the Pool were saved, *not* individual Items *together*
with the objects. The Pool was completely (binary) saved (and loaded)
in one run.
Temporary IDs were used to represent at the objects in file which
Items were referenced. This *required* to have only one incarnation
per item to have a minimal binary file size, thus this high effort
was put into this. At doc load, the pool was loaded, all Items were
set to RefCount 5000, the references from the objects were restored
and then for each Item the RefCount was lowered by 5000 again
and - if being zero - deleted. Items for UI were marked 'non-poolable'
to *not* safe them with the document, so poolable was a flag to decide
if that Info/Item was to be saved with the document - or more direct:
if it is Model Data.
Items are small, so if we prefer runtime it is okay to no longer being
strict with this, anyways does not happen often and has only marginal
memory effects - compared to runtime effects/savings.
Other problems which this caused: One example is that objects in the
UNDO stack were still in the pool, so e.g. deleted pictures were saved
with the document despite no longer being used (!). That is the reason
we have an UndoItemPool and a method MigrateItemPool to move stuff to
that Pool when objects go to the UNDO stack - all of this is also no
longer needed.
Cleaning this up means to ideally have all items in the SfxItemSet,
no longer at the Pool. The Pool should be reduced to a 'Default-Item-
Holder' and a 'Slot-to-whichId-mapper'.
This needs thorough cleanups/removals, but will be worth it because
that massive simplification(s) will increase safety an runtime and make
migrating to the goal of completely type-based ItemSet stuff easier for
the future. Hopefully only view code in the office working with items
will have to be changed for this.
In this 1st step I already found that some 'compromizes' will be
needed:
- There are still Items that have to be at the pool to make the
Surrogate-stuff working. This gives back all Items in a Pool of a type
and is used in ca. 80 cases. Each one looks at these Items *without*
context (e.g. a SfxItemSet at an Object would be a context), so if e.g.
a dialog is open that temporarily uses Items of that type you would
also get these - without knowing about it...
To make that work there is still a mechanism to have Items at the Pool,
but now just *registering* (and un-reg) them without any sort/search/
remove needs. Also only for Items that need that, so I evaluated the
GetItemSurrogates calls and added some asserts when GetItemSurrogates
tries to access an unregistered item type which needs to be added.
- Another caveat is that there are about 250 places that directly put
Items to the Pool (not all remove these, that is done at pool deletion,
so some kind of silent 'garbage-collection' is in place). To have an
overview I renamed the accessing methods to separate them from the same
functionality at the SfxItemSet, which had the same names. An
implementation does still add these directly to the pool, there is no
way to cleanup those usages for now. In principle all these should be
changed to hold the data at an SfxItemSet.
I am still hunting problems. But you can build the office, all apps
work (including chart) and you can do speed comparisons already.
There are test throwing errors, so I hunt these now. It is hard to
give an estimation about how much more changes/corrections will be
needed.
Completed adaptions to new registered Items at Pool, that reduces the
failing tests. Still many that I need to hunt.
Added stuff to work around that 'compromize' in ScDocumentPool: It
overloads ::PutImpl of the pool to implement special handling for
a single Item in SC, the ScPatternAttr. In former code that method
was used from SfxItemSet and ::PutImpl at the pool directly, so it
was only used in one place. I am not sure if it was used from
the SfxItemSet functionality, but better offer it for now. To not
waste too much runtime the callbacks depend on the boolean
'NewItemCallback' at the SfxPoolItem, it gets set for that single
Item in SC and only then the callbacks trigger. I hope to get rid
of those again, e.g. newItem_UseDirect is only needed since we have
no 'real' StaticPoolDefaults currently - another thing that needs to
be cleaned up in a next step.
Since usages of impl(Create|Cleanup)ItemEntry and
Direct(Put|Remove)ItemInPoolImpl got more and more similar I decided to
unify that: move impl(Create|Cleanup)ItemEntry to tooling, make it
globally available in svl and use it also directly for
Direct(Put|Remove)ItemInPoolImpl. This slightly increases the failing
tests again, but only since in Direct(Put|Remove)ItemInPoolImpl that
fallback (e.g. tryToGetEqualItem) was used before, thus this is the
same class of errors (SfxPoolItem ptr-compare) as the others which I
will need to find anyways. Also fixed some missing stuff.
Have now idenified and redirected all SfxPoolItem ptr-compares
to be able to debug these - one cause for the remaining errors is
probably that before with bPoolable those often were sufficient, but
are no longer. Used the [loplugin:itemcompare] and a local clang
build to do so, see https://gerrit.libreoffice.org/c/core/+/157172
Stabilized Direct(Put|Remove)ItemInPoolImpl forwards, added parameter
to implCreateItemEntry to signal that it gets called from DirectPool
stuff - currently needed. Hopefully when getting rid of that DirectPool
stuff we can remove that again
Added two more debug functionalities:
- Added a SerialNumber to allow targeted debugging for deterministic
cases
- Added registering & listing of still-allocated SfxPoolItems at
office shutdown
Found PtrComp error in thints.cxx - POC, thanks to
areSfxPoolItemPtrsEqual. Will hopefully help more with other tests
Found some wrong asserts/warnings where I was too careful and not
finding something/succeeding is OK, fixes some UnitTests for SC
For SC I now just tried to replace all areSfxPoolItemPtrsEqual with
the full-ptr-content compare SfxPoolItem::areSame. I also needed to
experiment/adapt the newItem_Callback solution but got it working.
Did that replacement now for SW too, found some places where the
direct ptr compare is OK.
Continued for the rest of occurrences, now all 160 places evaluated.
Also done some cleanups.
Massive cleanups of stuff no longer needed with this paradigm change.
Also decided to keep tryToGetEqualItem/ITEM_CLASSIC_MODE for now.
It is used for *one* Item (ScPatternAttr/ATTR_PATTERN) in SC that
already needs many exceptions. Also useful for testing if errors
come up on this change to test if it is related to this.
Added forwarding of target Pool for ::Clone in SvxSetItem and
SvxSetItem, simplified SfxStateCache::SetState_Impl and returned
to simple ptr compares in SfxPoolItem::areSame to not do the test
in areSfxPoolItemPtrsEqual.
Debugged through UITest_calc_tests9 and found that in tdf133629
where BoxStyle is applied to fully selected empty calc the Item-
reuse fallback has to be used not only for ATTR_PATTERN, see
comment @implCreateItemEntry. Maybe more...
Problem with test_tdf156611_insert_hyperlink_like_excel. Found that
in ScEditShell::GetFirstURLFieldFromCell the correct SvxURLField
is found and returned as ptr, but it's usage crashes. That is due to
the SfxItemSet aEditSet used there gets destroyed at function return
what again deletes the SvxFieldItem that is holding the SvxURLField
that gets returned.
This shows a more general problem: There is no 'SfxPoolItemHolder'
that safely holds a single SfxPoolItem - like a SfxItemSet for a
single Item (if Items would be shared_ptrs, that would be a safe
return value).
That will be needed in the future, but for now use another solution:
Since I see no reason why EE_FEATURE_FIELD should not be shareable
I wil change this for ow in the SfxItemInfo for EditCharAttribField.
That way the Item returned will be shared (RefCnt > 1) and thus not
be deleted.
I changed the return value for GetURLField() and
GetFirstURLFieldFromCell() in ScEditShell: At least for
GetFirstURLFieldFromCell the return type/value was not safe: The
SvxFieldItem accessed there and held in the local temporary
SfxItemSet may be deleted with it, so return value can be
corrupted/deleted. To avoid that, return a Clone of SvxFieldData
as a unique_ptr.
With all that UnitTest debugging and hunting and to get the paradigm
change working to no longer rely on shared/pooled items I lost a
little bit focus on speed, so I made an optimization round for the
two central methods implCreateItemEntry/implCleanupItemEntry to
get back to the speed improvements that I detected when starting this
change. It was mainly lost due to that 'strange' chained pool stuff
we have, so I added to detect the target pool (the one at which the
WhichID is registered) directly and only once. Next thing to cleanup
will/should be the pool and it's concept, all this is not needed
and really costs runtime.
Since implCreateItemEntry/implCleanupItemEntry are executed millions
of times, each cycle counts here.
Had an error in the last changes: pool::*_Impl methods use index
instead of WhichID - most of them. Another bad trap, I really need
to cleanup pool stuff next.
Change-Id: I6295f332325b33268ec396ed46f8d0a1026e2d69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157559
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
This allows to use the same interaction handler there, as used in
DocumentMacroMode::adjustMacroMode. hasTrustedScriptingSignature
used to find its own interaction handler; and that would conflict
with e.g. ODatabaseModelImpl::adjustMacroMode_AutoReject, which
passes nullptr to adjustMacroMode, with intention to not show any
UI; but with signed macros (see tdf#97694), the UI would still
appear.
Change-Id: Ia209f96bef67dccfe1da23c4d172ac47497f8eb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159070
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Basically describing commit 71c6f438cecc3ce5e8060efe1df840652885701c
(tdf#129311 don't allow temporary trusted certs, 2019-12-17).
Change-Id: I4d947014b09412638560e9249f242cf6ff222cc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159069
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
instead of an ok/cancel, and default to no
Change-Id: If86ca1b29d0dd91018fdc8edd6482a6d9ef5c0e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159068
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
It is mainly to allow macro execution for this unknown certificate once.
The UI will even disable the option to add, when the config is read-only.
Change-Id: Iebc526c23572dc7c0e94fac79fafc8b402d451c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159051
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
And that conforms the IDL definition of css::document::MacroExecMode
Change-Id: I78ebfa94eb50552e7f4ecf3d64a0ac0556c56867
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159029
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
XDocumentDigitalSignatures::isLocationTrusted would remove segments
itself, as needed; this change not only simplifies this code, but
also potentially allows to define not only trusted directories, but
also individuals trusted files (if the UI would be adjusted).
Change-Id: I0b0d60946d84a52479fcce5ce49d368cf53283fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159009
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
- in LOK case toolbars in core doesn't make any difference
- SfxNotebookBar::IsActive which reads config
makes doc_setView slower, avoid it in LOK case then
- it was used for hiding contextual toolbars
- introduced in commit 9bc1ffa2153d2474b023e0860d3c9c68ee18727b
tdf#125040 Make single mode toolbar context aware
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I63de48faf2f7e7f30f8b509455061ac20a788f8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158939
Tested-by: Jenkins
|
|
commit 5bd2931b57a6cb4ac1f39d7ddae874ac693cfab0
tdf#102063 Notebookbar wont appear on launch
introduced some Query hack to SfxDispatcher::Update_Impl what
causes many updates on lots of different actions.
It breaks multi-view state of notebookbar in LOK case,
so don't do that. It should be reviewed for regular case too.
Change-Id: I8f26bddc6cff991c56a1172893d83b90fb225acd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158937
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
This fixes regression from commit db5a78c8ab1eae30e442151f07b0dc4dcd017550
lok: notebookbar: don't recreate toolbars too often
When we had 2 sessions with notebookbar and one of them switched
to compact mode - other session's notebookbar didn't work.
Before previous change we recreated notebookbar and its welded wrapper
on every StateMethod call for LOK case. So when it become destroyed
we made it working again. But now we need to introduce better management
and not rely on single instence we get from SystemWindow.
Also it's bad idea to rely 100% on SfxNotebookBar::IsActive in LOK
case as when other view will turn notebookbar off, but QueryState
will be trigerred in our session - we will think that it should be
destroyed (it reads config state which is shared between views).
So trust only "true" value (it happens after calling SID_TOOLBAR_MODE),
but destroy notebookbar only after explicit call of
SfxNotebookBar::CloseMethod. It seems to have good result when tested
with multiple views in Online. Maybe we can track Notebookbar state
per view later to make things simpler in LOK case.
Change-Id: Ie739c6441ca05884b0ef20bff23751467706b562
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158936
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
Change-Id: Id900a5eef248731d1184c1df501a2cf7a2de7eb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158910
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
commit 004512d87ab70587d95a708116a5c2f4b870565c
notebookbar: allow to create multiple instances for online
Changed SfxNotebookBar::StateMethod so in LOK case it always
enter to the code block which is meant to be used for
creating or reloading notebookbar. Change that so we check
if notebookbar was initialized for given view already.
Change-Id: Icfa1e572769043509479b7b98d055120ac3d1f74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158872
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
Change-Id: Iccf76581de8dc44fe80aa818e9fb81c2cdf0967b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155571
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|