Paste P172

Using QPointer member variable to avoid cppcheck complain
ActivePublic

Authored by muhlenpfordt on Mar 1 2018, 9:44 AM.
diff --git a/app/main.cpp b/app/main.cpp
index b6135404..cf4e4a5b 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -22,6 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include <memory>
// Qt
+#include <QPointer>
#include <QScopedPointer>
#include <QUrl>
#include <QTemporaryDir>
@@ -62,6 +63,11 @@ public:
}
}
+ ~StartHelper()
+ {
+ delete mMainWindow;
+ }
+
void parseArgs(const QStringList &args, bool fullscreen, bool slideshow)
{
if (args.count() > 1) {
@@ -92,22 +98,22 @@ public:
void createMainWindow()
{
- Gwenview::MainWindow* window = new Gwenview::MainWindow();
+ mMainWindow = new Gwenview::MainWindow();
if (mUrl.isValid()) {
- window->setInitialUrl(mUrl);
+ mMainWindow->setInitialUrl(mUrl);
} else {
- window->showStartMainPage();
+ mMainWindow->showStartMainPage();
}
- window->show();
+ mMainWindow->show();
if (mFullScreen) {
- window->actionCollection()->action("fullscreen")->trigger();
+ mMainWindow->actionCollection()->action("fullscreen")->trigger();
} else {
- window->show();
+ mMainWindow->show();
}
if (mSlideShow) {
- window->startSlideShow();
+ mMainWindow->startSlideShow();
}
}
@@ -116,7 +122,7 @@ private:
bool mFullScreen;
bool mSlideShow;
std::unique_ptr<QTemporaryDir> mMultipleUrlsDir;
- std::unique_ptr<Gwenview::MainWindow> mMainWindow;
+ QPointer<Gwenview::MainWindow> mMainWindow;
};
int main(int argc, char *argv[])