X-Git-Url: https://vaikene.ee/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Ffactory.cpp;h=6d5621b9c74969ba7d7dcfa2c0446f5301bdfb7d;hb=HEAD;hp=5ce4d1a90651bbf75960853d8affe13f1a5bfff0;hpb=06f9c5336ba8a2200b68f636520707693eb5ada7;p=evaf diff --git a/src/plugins/SdiWindow/factory.cpp b/src/plugins/SdiWindow/factory.cpp index 5ce4d1a..6d5621b 100644 --- a/src/plugins/SdiWindow/factory.cpp +++ b/src/plugins/SdiWindow/factory.cpp @@ -3,7 +3,7 @@ * @brief SDI module's factory class * @author Enar Vaikene * - * Copyright (c) 2011 Enar Vaikene + * Copyright (c) 2011-2019 Enar Vaikene * * This file is part of the eVaf C++ cross-platform application development framework. * @@ -19,7 +19,6 @@ #include "factory.h" #include "sdiwindow.h" -#include "version.h" #include @@ -28,14 +27,12 @@ using namespace eVaf::SdiWindow; VER_EXPORT_VERSION_INFO() -Q_EXPORT_PLUGIN2(VER_MODULE_NAME_STR, Factory) //------------------------------------------------------------------- Factory::Factory() : Plugins::iPluginFactory() - , mPlugin(0) { setObjectName(QString("%1-Factory").arg(VER_MODULE_NAME_STR)); @@ -44,17 +41,16 @@ Factory::Factory() Factory::~Factory() { - if (mPlugin) - delete mPlugin; + mPlugin.reset(); EVAF_INFO("%s destroyed", qPrintable(objectName())); } QObject * Factory::create(QString const & name) { - Q_UNUSED(name); + Q_UNUSED(name) - if (mPlugin == 0) - mPlugin = new Internal::SdiWindowPlugin; - return mPlugin; + if (!mPlugin) + mPlugin.reset(new Internal::SdiWindowPlugin); + return mPlugin.data(); }