diff --git a/src/pluginhost.cpp b/src/pluginhost.cpp
index b3ff446..06e5260 100644
#include "iqnamespacefilter.h"
#include "optionaccessor.h"
+#include "applicationinfo.h"
* \brief Constructs a host/wrapper for a plugin.
PluginHost::PluginHost(PluginManager* manager, const QString& pluginFile)
load(); // reads plugin name, etc
@@ -250,6 +256,12 @@ bool PluginHost::enable()
qDebug("connecting option accessor");
o->setOptionAccessingHost(this);
+ PsiPlugin* p = qobject_cast<PsiPlugin*>(plugin_);
+ p->setHomeDir(ApplicationInfo::homeDir());
@@ -396,7 +408,8 @@ bool PluginHost::processEvent(int account, const QDomElement& e)
* \param subject Message subject
* \return Continue processing the event; true if the stanza should be silently discarded.
-bool PluginHost::processMessage(int account, const QString& jidFrom, const QString& body, const QString& subject)
+bool PluginHost::processMessage(int account, const QString& jidFrom,
+ QString& body, QString& subject)
EventFilter *ef = qobject_cast<EventFilter*>(plugin_);
@@ -406,6 +419,28 @@ bool PluginHost::processMessage(int account, const QString& jidFrom, const QStri
+bool PluginHost::processMessage(int account, const QString& jidFrom,
+ QDomElement& htmlBody, QString& subject)