And use KPluginMetaData instead. It's what we get from the PackageLoader anyway.
Unlike KPluginInfo KPluginMetaData supports multiple authors. To keep the current behaviour of the model the code picks the first one and ignores the potential others.
Instead of using KPluginTrader's contraint system pass a filter function to KPackage::PackageLoader.
Also move the later filtering into said filter function.
This method calls doesn't seem to work anymore having been replaced by
the more intuitve virtual paths on the logind over a year ago.
Arguably that's still a bug upstream that GetSessionByPID no longer
works correctly, but we may as well port to the simpler path that avoids
so many layers of indirection.
Use of "/auto" does not exist on old distros so the legacy path is kept.
The paths used in this class were always wrong, which went unnoticed as
this is the first usage of them.
BUG: 423526
This was the last occurrence that didn't get ported/detected.
Because of that the updating did not work and uninstalling
an entry using the "Widget Explorer" did not work.
BUG: 423055
BUG: 424429
FIXED-IN: 5.20
There were three principal sources of errors and warnings:
1. Un-ported `onFooChanged` statements
2. `config.fontSize` being unconditionally referenced from components
without access to it (it comes from the SDDM config)
3. Accessing units from the context property rather than the singleton
All are fixed now. Tested with:
1. `sddm-greeter --test-mode --theme ~/kde/usr/share/sddm/themes/breeze/`
2. `~/kde/usr/lib64/libexec/kscreenlocker_greet --testing --theme ~/kde/src/plasma-workspace/lookandfeel`
3. `/kde/usr/lib64/libexec/ksmserver-logout-greeter --fakearg`
No regressions found.
BUG: 425349
FIXED-IN: 5.20
The existing method was overly complicated given that KPackage can load packages
relative to the default package root. Also it didn't work because QStandardPaths
defaults to LocateFile, not finding any packages.
Currently the applet count is filtered by activity. But for every activity all
applets in all known screens/containments are counted. If a user switches
screens regularly they will see for example that there are 7 instances of the
clock applet even though they have less screens and only one instance in their
current panel(s). This information is not useful to the user because they cannot
interact with the not visible applets in any way.
Summary:
Otherwise, setLayout function might be called for
already destructed instance of ItemContainer,
leading to double reference counter decrement of m_layout QPointer,
eventually invalidating such pointers prematurely.
BUG: 417603
Test Plan:
1) Unlock widgets via command: qdbus org.kde.plasmashell /PlasmaShell evaluateScript "lockCorona(false)"
2) On desktop push right mouse button and select menu item 'Add Widgets...'
3) Add various widgets to desktop using drag'n'drop on desktop.
I've added at least following widgets on same desktop screen:
Audio Volume, Battery and Brightness, Binary Clock, Clipboard, Color Picker, Grouping Plasmoid, Quick Chat
4) Remove just added widgets in random order
5) If necessary, repeat steps 3 and 4 a few times
If widgets aren't appearing on desktop despite adding them via drag'n'drop, it's bugged and ready to crash. But it's not a requirement for crash.
6) lock widgets via command: qdbus org.kde.plasmashell /PlasmaShell evaluateScript "lockCorona(true)"
7) repeat steps 1-6 multiple times
8) plasmashell shouldn't crash
Reviewers: ngraham, davidedmundson, mart
Reviewed By: davidedmundson
Subscribers: cfeck, anthonyfieroni, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27650
Summary: CCBUG: 412114
Test Plan:
{F8116018}
(The icon size is too large by default but that's not a bug in this patch)
Reviewers: #plasma, davidedmundson, meven, ndavis
Reviewed By: meven, ndavis
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27530
Summary:
Same idea as D25998, but for desktop widgets and done on the C++ side to avoid weird
interactions between a MouseArea and a MultiPointTouchArea on the QML side.
Test Plan: {F7819381}
Reviewers: #vdg, #plasma, mart, apol
Reviewed By: #vdg, #plasma, mart, apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26015