From 38300e2fd96aa89b6a03e513ea732141eb67b100 Mon Sep 17 00:00:00 2001 From: Bartosz Szatkowski Date: Fri, 27 Aug 2010 11:31:04 +0200 Subject: [PATCH] Fixed loading same plugin multiple times --- trunk/src/base/backbone/backbone.cpp | 9 ++++++++- trunk/src/plugins/google/src/GooglePlugin.cpp | 2 +- trunk/src/plugins/xdxf/src/xdxfplugin.cpp | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/trunk/src/base/backbone/backbone.cpp b/trunk/src/base/backbone/backbone.cpp index e05b042..a458852 100644 --- a/trunk/src/base/backbone/backbone.cpp +++ b/trunk/src/base/backbone/backbone.cpp @@ -346,8 +346,15 @@ void Backbone::loadPlugins() { } QObject *pl = loader.instance(); + bool exists = 0; CommonDictInterface *plugin = qobject_cast(pl); - _plugins.append(plugin); + foreach(CommonDictInterface* pl, _plugins) + if(pl->type() == plugin->type()) { + exists = 1; + break; + } + if(!exists) + _plugins.append(plugin); } } diff --git a/trunk/src/plugins/google/src/GooglePlugin.cpp b/trunk/src/plugins/google/src/GooglePlugin.cpp index c0e89c5..607c41c 100644 --- a/trunk/src/plugins/google/src/GooglePlugin.cpp +++ b/trunk/src/plugins/google/src/GooglePlugin.cpp @@ -30,7 +30,7 @@ GooglePlugin::GooglePlugin(QObject *parent): CommonDictInterface(parent), _langFrom(tr("")), _langTo(tr("")),_name(tr("")), - _type(tr("google")), _infoNote(tr("")) { + _type("google"), _infoNote(tr("")) { stopped = false; _connectionAccept = false; diff --git a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp index e9932d3..ae9f35e 100644 --- a/trunk/src/plugins/xdxf/src/xdxfplugin.cpp +++ b/trunk/src/plugins/xdxf/src/xdxfplugin.cpp @@ -29,7 +29,7 @@ XdxfPlugin::XdxfPlugin(QObject *parent) : CommonDictInterface(parent), _langFrom(tr("")), _langTo(tr("")),_name(tr("")), - _type(tr("xdxf")), _infoNote(tr("")) { + _type("xdxf"), _infoNote(tr("")) { _wordsCount = -1; _settings = new Settings(); _dictDialog = new XdxfDictDialog(this); -- 1.7.9.5