X-Git-Url: https://vaikene.ee/gitweb/pswgen09.html?a=blobdiff_plain;ds=sidebyside;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();
}