diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2019-04-24 15:06:04 +0200 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2019-04-26 12:44:13 +0200 |
commit | 1674c6964b585d944bcb34be1d937e7558a97453 (patch) | |
tree | 27565a4bc08c1f316c1ad73ddb4f464124f763d5 /svl | |
parent | Reuse base class IsCurrentThread (diff) | |
download | core-1674c6964b585d944bcb34be1d937e7558a97453.tar.gz core-1674c6964b585d944bcb34be1d937e7558a97453.zip |
tdf#124598 gtk3_kde5: Link gtk3 side against kf5 libs
The separate filepicker executable 'lo_kde5filepicker'
used by the gtk3_kde5 VCL plugin needs the KF5 libraries
(in particular the 'KFileWidget' class) in order to
provide custom controls in the Plasma-native QFileDialog.
The gtk3 side ('lo_kde5filepicker') itself doesn't use
any functionality from KF5 libraries itself and therefore
didn't link against those.
When determining which VCL plugin to use on LibreOffice
start, a 'dlopen()' is used on the libraries of the
potential VCL plugins, which fails if linked libraries
are not available, so unsuitable VCL plugin are skipped.
This mechanism didn't work for the gtk3_kde5 VCL plugin
if KF5 libraries were not installed, since the 'dlopen()'
on 'libvclplug_gtk3_kde5lo.so' would succeed, but starting
the 'lo_kde5filepicker' process would later fail at runtime
due to the missing libraries.
To avoid this, make 'libvclplug_gtk3_kde5lo.so' link
against KF5 libraries as well to prevent gtk3_kde5 from
being used unless all required libraries are actually present.
Add a dummy KFileWidget use in Gtk3KDE5FilePicker to prevent
smart linkers from not linking unused libraries despite linker
flags.
While this is a hack, it seems to be acceptable, in
particular since gtk3_kde5 is more meant as a temporary
solution supposed to be dropped at a later point in time
in favor of the pure kde5 VCL plugin.
Change-Id: I3a37daaeb1307b4f24f6fd75d7b6ec5ffaade0fd
Reviewed-on: https://gerrit.libreoffice.org/71237
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Tested-by: Jenkins
Diffstat (limited to 'svl')
0 files changed, 0 insertions, 0 deletions