Bug 359902

Summary: Adding C++-based applets by double-click results in "Error loading Applet: package inexistent. "
Product: [Plasma] plasmashell Reporter: Friedrich W. H. Kossebau <kossebau>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: normal CC: bhush94, kde, plasma-bugs, simonandric5
Priority: NOR    
Version: 5.5.4   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

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

http://commits.kde.org/plasma-framework/40b99a91222f59a6172b8673536c3c15c0458bf6