X-Git-Url: https://vaikene.ee/gitweb/highlight.css?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Ffactory.cpp;h=6d5621b9c74969ba7d7dcfa2c0446f5301bdfb7d;hb=HEAD;hp=a8a9a8b9c57f6d6959d1d5cbb2d9227d35f6eb7d;hpb=0c61450fcffcb36a6e23ca5b083c26543d956084;p=evaf diff --git a/src/plugins/SdiWindow/factory.cpp b/src/plugins/SdiWindow/factory.cpp index a8a9a8b..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. * @@ -33,7 +33,6 @@ VER_EXPORT_VERSION_INFO() Factory::Factory() : Plugins::iPluginFactory() - , mPlugin(0) { setObjectName(QString("%1-Factory").arg(VER_MODULE_NAME_STR)); @@ -42,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(); }