X-Git-Url: https://vaikene.ee/gitweb/pswgen09.html?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Ffactory.cpp;h=24aa0e55df0bf3f92aba358032119451ac9562e9;hb=13dedf19c628b9967e4c4106ab0fd967f1df0b90;hp=a8a9a8b9c57f6d6959d1d5cbb2d9227d35f6eb7d;hpb=a81a943bee20df3c7eb34bafb3e3fe878facfe4e;p=evaf
diff --git a/src/plugins/SdiWindow/factory.cpp b/src/plugins/SdiWindow/factory.cpp
index a8a9a8b..24aa0e5 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,8 +41,7 @@ Factory::Factory()
Factory::~Factory()
{
- if (mPlugin)
- delete mPlugin;
+ mPlugin.reset();
EVAF_INFO("%s destroyed", qPrintable(objectName()));
}
@@ -52,7 +50,7 @@ QObject * Factory::create(QString const & name)
{
Q_UNUSED(name);
- if (mPlugin == 0)
- mPlugin = new Internal::SdiWindowPlugin;
- return mPlugin;
+ if (!mPlugin)
+ mPlugin.reset(new Internal::SdiWindowPlugin);
+ return mPlugin.data();
}