Mantid
Loading...
Searching...
No Matches
QApplicationGlobalFixture.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2019 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9#include <cxxtest/GlobalFixture.h>
10
12#include <QApplication>
13
20class QApplicationGlobalFixture : CxxTest::GlobalFixture {
21public:
22 bool setUpWorld() override {
23 m_app = new QApplication(m_argc, m_argv);
24 return true;
25 }
26
27 // Removed as it causes a segfault on Ubuntu 20.04 due to PyQt claiming
28 // the Qapplication object and deleting it before tearDownWorld occurs.
29 // the memory leak caused by m_app not being deleted in some circumstances
30 // Doesn't matter as it executes this on exit
31 // bool tearDownWorld() override {
32 // delete m_app;
33 // return true;
34 // }
35
36 int m_argc = 1;
37 GNU_DIAG_OFF("pedantic")
38 char *m_argv[1] = {"QAppForTesting"};
39 GNU_DIAG_ON("pedantic")
40 QApplication *m_app;
41};
#define GNU_DIAG_ON(x)
#define GNU_DIAG_OFF(x)
This is a collection of macros for turning compiler warnings off in a controlled manner.