Bug 137573 - The "Office" file picker gets use in a recent master build on macOS
Summary: The "Office" file picker gets use in a recent master build on macOS
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: framework (show other bugs)
Version:
(earliest affected)
7.1.0.0.alpha0+
Hardware: All Mac OS X (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.1.0
Keywords:
: 137426 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-10-18 08:17 UTC by Tor Lillqvist
Modified: 2020-10-18 21:17 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tor Lillqvist 2020-10-18 08:17:34 UTC
Description:
In a fresh build on macOS, LibreOffice's own silly file pickers gets used instead of the "Aqua" one. To add insult to injury, the General part of the Preferences doesn't even show the choice for file picker. Apparently the code thinks that there is no native file picker for macOS.

Browsing the SalAquaFilePicker source, I suspect there might be some confusion between UNO service names and implementation names there? Comparing to the VistaFilePicker.


Steps to Reproduce:
.

Actual Results:
.

Expected Results:
.


Reproducible: Always


User Profile Reset: Yes



Additional Info:
.
Comment 1 Tor Lillqvist 2020-10-18 08:18:41 UTC
Noel, do you think your recent "create instances with uno constructors" changes might be related?
Comment 2 Telesto 2020-10-18 08:56:58 UTC
*** Bug 137426 has been marked as a duplicate of this bug. ***
Comment 3 Noel Grandin 2020-10-18 09:04:19 UTC
reverting commit

    commit 91a6aeab9da5ef8f98390ce7661ee6acf0841aec
    Author: Noel Grandin <noelgrandin@gmail.com>
    Date:   Tue Jul 14 18:29:22 2020 +0200
    fpicker/aqua: create instances with uno constructors

doesn't help.

If I turn on logging with
    export SAL_LOG=+INFO.cppuhelper

I see

info:cppuhelper.shlib:14827:7246559:cppuhelper/source/shlib.cxx:302: prefix=svt implementation=com.sun.star.comp.svt.FilePicker uri=file:///Users/noelgrandin/lode/dev/core/instdir/LibreOfficeDev.app/Contents/Resources/../Frameworks/libsvtlo.dylib
info:cppuhelper:14827:7246559:cppuhelper/source/servicemanager.cxx:1777: No implementation for com.sun.star.ui.dialogs.AquaFilePicker

which tells me that the UNO stuff for some reason doesn't even know about this component.
Comment 4 Noel Grandin 2020-10-18 09:18:57 UTC
I can see that the necessary XML information from

    fpicker/source/aqua/fps_aqua.component

has not been merged into 

    ./LibreOfficeDev.app/Contents/Resources/services/services.rdb

so most likely there is a bug either in or makefiles or in the script(s) that generate the services.rdb file
Comment 5 Tor Lillqvist 2020-10-18 09:43:57 UTC
Thanks, Noel, that was it: https://gerrit.libreoffice.org/c/core/+/104474
Comment 6 Tor Lillqvist 2020-10-18 09:46:12 UTC
Might be interesting to grep for all gb_Library_set_componentfile and check which ones aren't mentioned in the Rdb_services.mk.
Comment 7 Tor Lillqvist 2020-10-18 09:49:52 UTC
Hmm, could this be true:

for C in `git grep -w gb_Library_set_componentfile | sed -e 's/.*,\([^,)]*\)).*$/\1/'`; do grep -q $C postprocess/Rdb_services.mk || echo Missing: $C; done
Missing: binaryurp/source/binaryurp
Missing: connectivity/source/drivers/postgresql/postgresql-sdbc-impl
Missing: connectivity/source/drivers/postgresql/postgresql-sdbc
Missing: desktop/test/deployment/passive/passive_native
Missing: io/source/io
Missing: pyuno/source/loader/pythonloader
Missing: remotebridges/source/unourl_resolver/uuresolver
Missing: stoc/util/bootstrap
Missing: stoc/source/inspect/introspection
Missing: stoc/source/invocation_adapterfactory/invocadapt
Missing: stoc/source/invocation/invocation
Missing: stoc/source/javaloader/javaloader
Missing: stoc/source/javavm/javavm
Missing: stoc/source/namingservice/namingservice
Missing: stoc/source/proxy_factory/proxyfac
Missing: stoc/source/corereflection/reflection
Missing: stoc/util/stocservices
Missing: testtools/source/bridgetest/bridgetest
Missing: testtools/source/bridgetest/constructors
Missing: testtools/source/bridgetest/cppobj
Missing: vbahelper/COMPONENT_FILE
Comment 8 Noel Grandin 2020-10-18 09:53:54 UTC
Probably sberg can enlighten us here, but I think the only ones out of that list that look possible are the postgresql ones
Comment 9 Noel Grandin 2020-10-18 10:29:04 UTC
This appears to be a regression from

    commit 63972e79bbb9ea9654e755381641052632b0402c
    Author: Jan-Marek Glogowski <glogow@fbihome.de>
    Date:   Fri Jul 17 22:14:39 2020 +0200
    Fix the minimal build-tools target
Comment 10 Commit Notification 2020-10-18 11:22:46 UTC
Tor Lillqvist committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/ccdb78773ac6c9d19140e8084f37cc2c7f06240e

tdf#137573: The fps_aqua component was missing for macOS

It will be available in 7.1.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 11 Stephan Bergmann 2020-10-18 13:27:02 UTC
(In reply to Tor Lillqvist from comment #7)
> Hmm, could this be true:

Even though it appears no longer to be directly relevant for this issue, but lets answer it anyway for the record:

> Missing: binaryurp/source/binaryurp
> Missing: io/source/io
> Missing: remotebridges/source/unourl_resolver/uuresolver
> Missing: stoc/util/bootstrap
> Missing: stoc/source/inspect/introspection
> Missing: stoc/source/invocation_adapterfactory/invocadapt
> Missing: stoc/source/invocation/invocation
> Missing: stoc/source/javaloader/javaloader
> Missing: stoc/source/javavm/javavm
> Missing: stoc/source/namingservice/namingservice
> Missing: stoc/source/proxy_factory/proxyfac
> Missing: stoc/source/corereflection/reflection
> Missing: stoc/util/stocservices

^ see ure/Rdb_ure.mk

> Missing: connectivity/source/drivers/postgresql/postgresql-sdbc-impl
> Missing: connectivity/source/drivers/postgresql/postgresql-sdbc

^ see connectivity/Rdb_postgresql-sdbc.mk

> Missing: desktop/test/deployment/passive/passive_native

^ see desktop/Extension_test-passive.mk

> Missing: pyuno/source/loader/pythonloader

^ see pyuno/Rdb_pyuno.mk

> Missing: testtools/source/bridgetest/bridgetest
> Missing: testtools/source/bridgetest/constructors
> Missing: testtools/source/bridgetest/cppobj

^ see testtools/Rdb_uno_services.mk

> Missing: vbahelper/COMPONENT_FILE

^ whatever that is supposed to be; looks like it never existed?