Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
6.5, 6.7, 6.8
Description
Situation:
- Application links dynamically to Qt
- Loads plugins which link statically to Qt
- All instances use QML
- When the plugin UI is instantiated, the QML resources of the Application are tried to be imported
Debug traces:
standard 10:59:36.339770+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.343518+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.344352+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.345032+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.345854+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.346551+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.348459+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.349114+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.365361+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib' into a statically linked Qt library. standard 10:59:36.371968+0100 Resolve Cannot load '/Applications/DaVinci Resolve/DaVinci Resolve.app/Contents/Resources/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.dylib' into a statically linked Qt library.
Analysis:
- Looking into the default import paths logic, the QML Engine by default (also in the plugin use case!) adds the Application's executable directory to the QML import paths
- See https://github.com/qt/qtdeclarative/blob/v6.8.0/src/qml/qml/qqmlimport.cpp#L1537-L1596
As an exercise, I will provide the proposed patch via Gerrit.
Attachments
Issue Links
- relates to
-
QTBUG-134925 Investigate Qt::AA_PluginApplication hardening
-
- Reported
-