[Panel-devel] Plasmoids with a missing engine

Alex Merry huntedhacker at tiscali.co.uk
Wed Jul 11 02:07:11 CEST 2007


What a plasmoids supposed to do when the engine they need doesn't exist?  
In this case dataEngine("foo") will return 0.  At the moment, the way 
most of the plasmoids are written will mean that they will try 
dereferencing a null pointer, which causes plasma to crash.

For example, if the syndication library doesn't exist, the cia.vs 
plasmoid gets built and installed, but not the data engine (when you 
run cmakekde in playground/base/plasma).  Obviously this could be fixed 
by putting the same check for the plasmoid as for the engine, but that 
doesn't help with GHNS, for example, or people compiling their own and 
only compiling the plasmoid without checking they've compiled the 
engines it needs.

There could be a field in the desktop files for this.  
X-KDE-PluginInfo-RequiredEngines?  That way if plasma encountered a 
plasmoid with a missing engine listed, it could leave it out of the 
list, and print a message to the console explaining why it has done so.

Alex


-- 
KDE: http://www.kde.org
Ubuntu/Kubuntu: http://www.ubuntu.org http://www.kubuntu.org
Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/panel-devel/attachments/20070711/82a3b9fa/attachment.pgp 


More information about the Panel-devel mailing list