Age | Commit message (Collapse) | Author |
|
Change-Id: Ib008281d63071ea79935af83cbe434be66155455
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126692
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
and
cid#1495379 Uncaught exception
Change-Id: I8ec5ca64c3dda79c72bb91ba4651134fe9c4ffc9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126694
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I61fe51e95c629adcf90a9ea3d1783380039fdd5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126661
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I36e98e45d7d8ea092b1c58aea83652fe5df7bb17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126660
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ib3af1f9e461f133d2f5b09b9db4fb87c1ede0b9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126658
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
(Also a small clean-up: increase the character limit for tracked text
moving detection: Only 2 or more (non-whitespace) character deletions
are checked for it, because single characters are often typos or some
control-like characters, e.g. soft hyphen, not real text movings.)
Details of the regression: commit d32d9a2b3c5e3963f4a18f6c7bbf50fab2e9b2be
"tdf#123460 DOCX track changes: moveFrom completely" fixed
the missing redline import of the end of the moved paragraphs,
but paragraph end was imported as w:del, not w:moveFrom explicitly.
From commit f51fa7534421a195a58b4a737a2e836d8c25ba81
"tdf#145718 sw, DOCX import: complete tracked text moving"
this resulted two deletions (a moved one and a plain one) instead of
the previous single one.
Moreover, exporting these double deletions at the same position to
ODT, raised a back-compatibility issue with broken text content, see
tdf#107292 (solved recently, but not in older LibreOffice versions).
Removing the explicit w:del code path in writerfilter, it solved
the regression from commit f51fa7534421a195a58b4a737a2e836d8c25ba81
"tdf#145718 sw, DOCX import: complete tracked text moving".
See also commit 9e1e88ad5cf2dc0e9b188c60930445652a6c7519
"tdf#145720 DOCX export: fix loss of tracked moving".
Change-Id: I15bfc83b87dd42a762ff84edf5bae765fe02a5ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126631
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I3baac0b02a3d1eef150cb78873ffbee51282b0db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126654
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
if scrollbar required and scrollbar isn't an overlay one
Change-Id: I839fd8c214febadb80f692b53dc156e251f506ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126645
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
followup to my previous patch. I had played with this,
and do to poor testing or some residual effect,
I thought this wasn't necessary to disable the
movement buttons specifically. But in renewed
testing it is clear that it isn't magic that
causes the disabling at the proper time.
Change-Id: Ic57dba42d649e79bd1db2b95f8f4316e772ccaeb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126628
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
because its solely used to track if an event was posted to delete the
annotation
Change-Id: I7c6458475e967b8f313f1a770946c0db65561434
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126624
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
which can happen because empty comments are deleted automatically
on losing focus back to main document, so explicit delete of an
empty comment resulted in a double delete
Change-Id: I30390995a260235ed8702b0a088c05e91c953b3b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126623
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb). To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget. (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)
Most Rdb_*.mk files are thus mostly empty now. One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.
1c9a40299d328c78c035ca63ccdf22c5c669a03b "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option. However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d328c78c035ca63ccdf22c5c669a03b):
1 Rdb_services shall not contain the component files of all libraries that are
built. While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).
2 The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.
3 The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.
4 Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.
The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled. I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.
Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This fixes a problem introduced in LO 6.3 (backported to 6.1.5)
via commit 60714a814847f6d10f00aa6809a3896a48741e0b
tdf#121606: displaying Mail Merge toolbar shouldn't activate connection
Before 6.1, a user needed to run the mailmerge wizard
(or start the toolbar manually) in order to have
the mailmerge toolbar become available. In either of those cases,
the connection to the database was attempted and thus enabled
or disabled the various buttons based on the status. All good.
In 6.1, the toolbar was started on document load,
as soon as database fields were detected.
Sounds reasonable - good context sensitive UI.
The problem is that databases can often be password protected,
or on slow, remote sites. Thus the 6.3 commit mentioned above,
which disabled most buttons until the connection was established.
Well, having disabled buttons isn't too helpful,
and basically put us back to needing the extra step of
running the mail-merge wizard anyway.
The only problem with leaving them enabled is that we need to
ensure that we don't run the functions with bad results.
So sure - this means that a user thinks they can use the
mail-merge, attempt it, and then may find the buttons disable
when it won't work. That is the same as the forward/backwards
buttons though, so no big deal. Plus it is good feedback that
something isn't right (which will rarely ever be true).
The only time the buttons disable is for non-existant resultsets.
[Note that buttons do NOT disable for a wrong password,
or for a remote connection that can't be established.
And that is what we want anyway, so that further attempts
can be made after fixing the underlying problem.]
Change-Id: I3e82d2d3b35d04632650933c768cb0b5c006cb6f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126625
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
Showing "Row Deleted" and "Row Inserted" with Author and
Date (of the associated SwRangeRedline: latest tracked deletion
in deleted rows, and first tracked insertion in inserted rows).
Follow-up to commit c6af542a31e167e5a01908d049e399ce06a5e4e4
"tdf#146120 sw: show tracked table changes with different color"
and
Change-Id: I913e234de1a60311306fbebdfb1ae16dcea7cd8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126575
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Crashreport signature:
SwContact::GetFormat()
sw/inc/dcontact.hxx:112
SwFEShell::SelectObj(Point const&, unsigned char, SdrObject*)
sw/source/core/frmedt/feshview.cxx:292
SwWrtShell::UnSelectFrame()
sw/source/uibase/wrtsh/select.cxx:326
SwWrtShell::DelRight()
sw/source/uibase/wrtsh/delete.cxx:467
SwBaseShell::ExecDelete(SfxRequest&)
sw/source/uibase/shells/basesh.cxx:198
I.e. it seems that in case we're in the middle of a delete, then it's
possible that the mark list contains an SdrObject that doesn't have a
matching SwClient anymore. Ignore such SdrObjects when looking for the
textbox of a draw shape.
Change-Id: I065b2ea44d39220184a5f604c3ea13f6a106ddb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126563
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ib7be7fac788e06ee885d0eca9c082b145c889ef9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126552
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
and remove some unused defines
Change-Id: Ie560fccb674568ba88175d2e68ca83b92cfcf312
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126544
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I583f2a23b7912e48889b49a0dce0f4681ef45566
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126543
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In Change Tracking, show deleted table rows in cyan and
inserted rows in pink. In this case, don't show original
table row or cell background.
Follow-up to commit f481c2c8e74bded11fac754e493560391229dbcd
"tdf#144057 sw track changes: hide deleted table rows".
Change-Id: Ib9cc411b62b92bc8a83dda7589f3e798f7e96f41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126482
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Tracked deletions at the same position were loaded in reverse
order, resulting broken text content.
Note: FODT format is not applicable for the unit test document,
because it's not affected by the problem.
Change-Id: Id13f8d23ae5964cbf82095a3d1ce2f6c9fdd59e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126529
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Convert just one test before mass-converting all such tests in this
suite.
See commit a226cec52e536c46e03f57a5f1f7931abbeb0cdd
(CppunitTest_sw_rtfimport: convert one testcase to use
CPPUNIT_TEST_FIXTURE(), 2019-11-05) for motivation.
Change-Id: I9eb0a6458ae9ea31608dcb5e02f6ba59d3f2a669
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126488
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
This is the case where the field has a single placeholder character, but
it typically expands to more characters at a view level.
Change-Id: I5f11b29772697dbca3475aa53cf9301b67e64452
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126459
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Ic1ba90447575278d854af85312271c41766b776b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126422
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I16d59aa3a3f17764a848428a2e6b206dc57a480a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126325
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
|
... and introduce the --enable-services-rdb-from-build option.
Currently the build handles global build options redundant
in a few places:
* in Repository*mk + modules - the "real" build dependencies
* the full services.rdb generation
* the static UNO constructor map generation
Also the component files don't reflect the really built components
and so the RDB services generation must handle the whole options
to select the correct components.
So this optionally replaces the latter two by generating the list
of components and it's constructors from the build itself. As a
consequence, component files must now be split, so they reflect
the real components in the libraries, otherwise the static
constructor list will have missing symbols. IMHO this is more
natural, as it happens in the same place already handling these
build options for the sourcecode.
This also adds a convenience helper to add multiple component
files: gb_Library_set_componentfiles
This is WIP and currently just works for the stripped WASM build,
which introduces many more split component files in later patches.
It also explicitly filters the gb_Rdb__URECOMPONENTS and the
CppunitTest related components from the services.rdb. Maybe there
is a good way to do this properly.
Change-Id: I1b38a6f2c1e5221f18d7e5e756c30263b555d962
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126185
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This reverts commit 96e9eb56f0f76590ccc46a6948ae00803a92f113, as it should no
longer be necessary with the more general
0a710c5c4475b593428c6d90e791ef2ccc880062 "cid#1494595,1494597: Silence
UNCAUGHT_EXCEPT" (which I had created without being aware that this commit
already existed).
Change-Id: Iabf20626577af251e2e5bb146ad37c2a6ed7e3e0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126428
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
When I open a document with mixed English and Japanese, I get a warning
"Missing hyphenation data Please install the hyphenation package for locale "ja"".
English needs hyphenation, but Japanese does not need hyphenation. However,
the hyphenation check only checks for unknown language or no language.
Change-Id: I559e1b1eec8089f50aadad2710a33d0268ab13f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120497
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
This adds a "image preferred DPI" document setting, which is used
as a suggestion of the DPI that an image should have in the
document. This is currently used when the image is inserted into
the document (Writer, Impress/Draw) to resize it to the preferred
DPI value.
Change-Id: I3ee9d409257e3c6aa2ead05144ecbba7b3b916f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126334
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
... SwSrcEditWindow::ChangesListener
See tdf#94879 for motivation.
Change-Id: Idd3aba48ca7329b6df2e52fff73eca360aa76be5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126399
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
to reduce intermediate object creation
Change-Id: I03d34d15e88f82027f865868aca08503e38fd6ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126372
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and
cid#1494595 Uncaught exception
Change-Id: I2433b777c15703c441142c2102e5d71f7dfc18ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126366
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I80d64bd321af2cbc800a6b6c1d560d0b6b42fd97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126364
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I6d02ff1133db770025151ab1af3cea2a62261d76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126343
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I19c1cc2abc8af8d5bd58b2cb4ed096d02e277408
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126333
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
to reduce intermediate temporary data creation
Change-Id: I3f13b0e02c1fa374e8d70768ae47c7f6da254462
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126322
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
of documents created in MSO to keep interoperability.
Export moved redlines as moveFrom/moveTo instead of
del/ins elements (also for newly created tracked moving).
Export "MoveBookmark" elements moveFromRangeStart,
moveFromRangeEnd, moveToRangeStart, moveToRangeEnd, which
imported from DOCX documents created in MSO. Without them,
moveFrom/moveTo elements were imported as plain deletion
or insertion in MSO.
Note: MoveBookmark elements were imported and exported as
collapsed plain bookmarks. Now keep their ranges, also store
the information of moveFrom/moveTo for correct export.
In the export filter, mandatory author and date of the tracking
information restored from RedlineData of the first redline
within the MoveBookmark, if it's possible.
Follow-up to commit f51fa7534421a195a58b4a737a2e836d8c25ba81
"tdf#145718 sw, DOCX import: complete tracked text moving".
Change-Id: I54242453a7f7d8f73ea074fc74e8e7bc86d07d01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126258
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
The problem is that on the first SwUndoDelete, the m_nSectDiff branch
MoveNodes() creates a top-level SwTextFrame for the node "Korean", then
the m_nReplaceDummy branch does another MoveNodes() to move the same
node into the section, but its frame remains outside the section.
Generalize fix 55576842ec72a748d0bad123d41fa03c89fc136d for tdf#131684
to check the last SwTextNode inside the section if it has a frame
outside the SwSectionFrame.
(regression from 6c7245e789f973cf6dad03f7008ab3f9d12d350c)
Change-Id: I30495d8f3d8fc0d70cb20df44409174edc2d4a4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126257
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: Ic0c479e97b7a5f6fcc7f7eb454eb77a5c47de9db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126191
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
SwTextNode::InsertHint() is documented to destroy its argument
SwTextAttr in case insertion fails, but it doesn't do it on all
branches.
Change-Id: I270df9acf36993d894899c20c86a6bc43d782001
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126190
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
One can check the value of addString in a debugger without this code.
Change-Id: I863b3c70e741f270b5aac07ba2c0fa5186daeaa7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126261
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Charts were already updated, it was not consistent that other embedded
objects are not updated.
This is especially useful if an ODT file is manipulated by a 3rd-party,
then loaded into Writer just to update the previews of OLE objects.
Change-Id: If61aa037739c593abade933dcdd5474ad566b3e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126253
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I118f3b3a7cf6ed2b1315cbb0db75a512a44e3f77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126179
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Word Control Field with datepicker is implemented with LO datepicker,
but during this conversion we lose some field data, like control
color, data mapping, etc. This data is already retrieved and stored
in grab bag, so we need just to keep this grabbag in field and use
it again on export.
Change-Id: I6af8204fe1a7d2f9081d83372a6786b2f86260d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125486
Tested-by: Jenkins
Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de>
|
|
See commit a226cec52e536c46e03f57a5f1f7931abbeb0cdd
(CppunitTest_sw_rtfimport: convert one testcase to use
CPPUNIT_TEST_FIXTURE(), 2019-11-05) for motivation.
Change-Id: I6dddee7211f49d0e6fd9095465449deb90a6f8ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126200
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Prevents crash when postit is in a hidden section or folded outline
content and SwPostItMgr::Hide function is called. In these cases the
pointer to the postit annotation window could be nullptr.
Change-Id: I16d08504cdd89bdb136f8a0d2615cf3028ca8ece
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126175
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
According to TEMPLATE.SOURCECODE.HEADER
Change-Id: I50b9d5e65c5da654914ba42d0688a2acbda1d2cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126187
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins
|
|
and respect comment tracking setting
Change-Id: I93c50cd5e022512bd092fed0922e8a22bdc7b665
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126085
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
This introduces two concepts: a plugin and its loader (library)
LO currrently has dependency cycles for some libraries. There is
scui, which depends on sc, while sc dlopen's scui. There are the
various vclplug_*, i18npool plugins, filters/gie, acc, etc.
Usually these plugins link to their loader library, because they
use its symbols. But as a result there is no sensible way to
express the runtime dependency of loaders on the plugins.
In GNU libtool plugins are called modules and they are implemented
in an IMHO more sensible way by allowing missing symbols at link
time. This way you can have a dependency from the loader library
to its plugins, as the plugins don't depend on the loader, but you
lose the link time detection of missing symbols.
While this is in theory possible in LO too, LO currently has
plugins, like acc (accessibility), loaded by tk (toolkit), which
depends on svt (svtools), which itself depends on tk, so dropping
the tk dependency for acc on its own doesn't help :-(
And while the dependency of the plugins on their loader is fine
for the shared / DYNLOADING build, for the "static" builds you
must (somehow) link the plugins into the executables.
I also codeified a few rules into the build system along with it:
* just plugins are allowed to depend / link other plugins
* plugins aren't allowed to be linked into the merge lib
* plugin loaders are "limited" to libraries
At the high level, this is implemented via new gbuild calls:
* gb_Library_set_plugin_for,lib,loader: declare a library to be a
plugin of a loader library and add a dependeny from the plugin
library to the loader library
* gb_Library_set_plugin_for_nodep,lib,loader: ^^^^ without adding
the library dependeny
* gb_Helper_register_plugins_for_install: "plugin" replacement for
gb_Helper_register_libraries_for_install to implement some
additional checks in the build system
In the end this patch just adds a bit syntactic sugar and nothing
changes for any build.
Change-Id: I7b01d9c384cbc5838bd2cc93aff18e4868939d6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126163
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I6b1a2808af9e6bb4d3240a83798c3c5958ef38e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126183
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Ie8f4c338f1636945f61ec139706353df88a81087
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126171
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|