Bug 359902 - Adding C++-based applets by double-click results in "Error loading Applet: package inexistent. "
Summary: Adding C++-based applets by double-click results in "Error loading Applet: pa...
Alias: None
Product: plasmashell
Classification: Unclassified
Component: general (show other bugs)
Version: 5.5.4
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: David Edmundson
Depends on:
Reported: 2016-02-28 21:01 UTC by Friedrich W. H. Kossebau
Modified: 2016-04-22 17:47 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Friedrich W. H. Kossebau 2016-02-28 21:01:49 UTC
When adding the comic applet by DnD from the widget explorer to a containment, there is no problem.
Trying to add it instead by double-click on the item in the widget explorer results in an applet added with an error symbol and the text "Error loading Applet: package inexistent. ".

Which poses a bigger problem when trying to add a widget to a panel, because there is no DnD alternative (well, still possible to first create the applet on a containment and then DnD it onto the panel, but... it should just work).

Found while discussing the C++-based Weather applet port which has the same problem (cmp. https://git.reviewboard.kde.org/r/127193/), which lead to the assumption it might be C++-based applets specific.

"perhaps the setup applet scripts or so aren't run properly" was one assumption.

Reproducible: Always

Steps to Reproduce:
1. Select "Add widgets..." on panel or containment
2. Double-click "comic" item

Actual Results:  
Applet with error symbol and the text "Error loading Applet: package inexistent. " is added.

Expected Results:  
Comic applet instance is added.
Comment 1 Kai Uwe Broulik 2016-02-28 21:04:56 UTC
The same also seems to affect the system tray, where adding a widget by checking it in "Additional Entries" leaves you with a blank space where the applet would be.
Comment 2 Marco Martin 2016-02-29 16:34:36 UTC
Git commit 40b99a91222f59a6172b8673536c3c15c0458bf6 by Marco Martin.
Committed on 29/02/2016 at 16:31.
Pushed by mart into branch 'master'.

if path is passed, pick the tail

PluginLoader::loadApplet works both by passing a simple plugin
name and a full path of a plasmoid package.

However, when loading the optional C++ plugin, we have to look
in the standard plasmoid plugin path, so only consider the
tail of the path name, as is guaranteed that part is equal to
the plugin name.
Change-Id: Ic7300b7c12d7693bcb5590e29de780109a8ff81c

M  +4    -2    src/plasma/pluginloader.cpp