Review Request 119038: Allow loading KCMs from QT_PLUGIN_PATH subdirectories
Alexander Richardson
arichardson.kde at googlemail.com
Tue Jul 1 12:53:17 UTC 2014
> On July 1, 2014, 12:29 p.m., David Faure wrote:
> > src/kcmoduleproxy.cpp, line 95
> > <https://git.reviewboard.kde.org/r/119038/diff/1/?file=285705#file285705line95>
> >
> > technically this could lead to conflicts (if same filename in two different subdirs).
> >
> > Why not turn '/' into '_' ?
> >
> > Of course this raises the question of compatibility ... which makes me wonder who uses this dbus stuff in the first place. Any idea?
>
> Alexander Richardson wrote:
> From looking at the code and qdbusviewer it seems all that it exposes is a method applicationName in internal/KSettingsWidget/kcm_clock which returns the same thing as the property in MainApplication/ org.qtproject.Qt.QGuiApplication applicationDisplayName, so I guess this could actually be dropped?
>
> David Faure wrote:
> Not really, since you can load multiple KCMs into the same process
> (e.g. with systemsettings, or kcmshell5 <list of modules>)
>
> The question is who is calling this applicationName method, and how does it figure out what to call it on (since that would need to use the same logic as the code here which exposes that method)
>
> Alexander Richardson wrote:
> All that grep could find was
>
> frameworks/kcmutils/src/kcmoduleproxy.cpp:157: QDBusReply<QString> reply = proxy.call(QStringLiteral("applicationName"));
This seems to be there to prevent the same kcm to be open the same time in multiple applications, so I guess the best solution is to simply replace / with _
- Alexander
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119038/#review61363
-----------------------------------------------------------
On June 30, 2014, 5:18 p.m., Alexander Richardson wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119038/
> -----------------------------------------------------------
>
> (Updated June 30, 2014, 5:18 p.m.)
>
>
> Review request for KDE Frameworks.
>
>
> Repository: kcmutils
>
>
> Description
> -------
>
> Previously we would crash with an assertion inside libdbus-1 because of
> additional / characters in the dbus path if X-KDE-Library in the
> .desktop file pointed to a plugin inside a subdirectory of the plugin
> path. We now just use the name of the library and strip all leading
> directories from the name that is registered in DBus
>
>
> This would allow moving all kcms into e.g. plugins/kcm5 which would allow
> cleaning up the plugins/ directory
>
>
> Diffs
> -----
>
> src/kcmoduleproxy.cpp 7596f36e1e26ce080634f3cc0f89e27280423f25
>
> Diff: https://git.reviewboard.kde.org/r/119038/diff/
>
>
> Testing
> -------
>
> - moved $KF5/lib64/plugins/kcm_clock.so to $KF5/lib64/plugins/kcm5/kcm_clock.so
> - changed X-KDE-Library to "kcm5/kcm_clock" in $KF5/share/kservice5/clock.desktop
> - ran kbuildsycoca5
>
> "kcmshell5 clock" before this patch -> crash
> "kcmshell5 clock" after this patch -> works as expected
>
>
> Thanks,
>
> Alexander Richardson
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140701/0effcecb/attachment.html>
More information about the Kde-frameworks-devel
mailing list