Skip to content
Extraits de code Groupes Projets
Valider e711a20e rédigé par Elliu's avatar Elliu
Parcourir les fichiers

Fix segfaults with gcc

Removing icon for the moment
parent accea4fd
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!3Add documents
......@@ -24,6 +24,8 @@ find_library(AVFORMAT_LIBRARY avformat REQUIRED)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
# Grab all files
file(GLOB Vivy_SRC
......
......@@ -12,7 +12,6 @@ DialogHelp::DialogHelp(QWidget *parent) noexcept
setWindowTitle("Vivy - Help");
setWindowFlags(Qt::Dialog);
setWindowModality(Qt::WindowModal);
setIconPixmap(VivyApplication::getIcon());
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
setSizePolicy(sizePolicy);
......
......@@ -17,9 +17,8 @@
#include <QToolBar>
#include <QTabWidget>
MainWindow::MainWindow(VivyApplication *app) noexcept
: QMainWindow(nullptr)
, application(app)
MainWindow::MainWindow(QWidget * parent) noexcept
: QMainWindow(parent)
{
/* Some ugly stuff going on here with the toolbars and the menues */
#include "MainWindow.xdef"
......
......@@ -18,11 +18,10 @@ class MainWindow final : public QMainWindow {
Q_OBJECT
VivyDocumentStore documentStore{};
VivyApplication *application;
QTabWidget *documents{ nullptr };
public:
explicit MainWindow(VivyApplication *) noexcept;
explicit MainWindow(QWidget * paret = nullptr) noexcept;
~MainWindow() noexcept = default;
std::weak_ptr<VivyDocument> getCurrentDocument() const;
......
......@@ -8,38 +8,13 @@ extern char *vivy_xpm[];
VivyApplication::VivyApplication(int argc, char **argv)
: QApplication(argc, argv)
, applicationIcon(QPixmap(vivy_xpm).scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation))
{
if (singletonInstance)
throw std::runtime_error("A single instance of the VivyApplication can be created");
singletonInstance = this;
mainWindow = std::make_unique<MainWindow>(this);
}
int
VivyApplication::exec() noexcept
{
mainWindow->show();
return reinterpret_cast<QApplication *>(this)->exec();
}
const QPixmap &
VivyApplication::getApplicationIcon() const noexcept
{
return applicationIcon;
}
VivyApplication *
VivyApplication::getInstance()
{
if (singletonInstance)
return singletonInstance;
throw std::runtime_error("No VivyApplication was created");
}
const QPixmap &
VivyApplication::getIcon()
{
return VivyApplication::getInstance()->getApplicationIcon();
MainWindow mainWindow;
mainWindow.show();
return QApplication::exec();
}
......@@ -15,20 +15,12 @@ class VivyApplication : public QApplication {
Q_OBJECT
private:
std::unique_ptr<MainWindow> mainWindow{ nullptr };
const QPixmap applicationIcon;
static inline VivyApplication *singletonInstance = nullptr;
static VivyApplication *getInstance();
public:
VivyApplication(int argc, char **argv);
~VivyApplication() = default;
int exec() noexcept;
const QPixmap &getApplicationIcon() const noexcept;
static const QPixmap &getIcon();
};
#endif // VIVY_APPLICATION_H
Ce diff est replié.
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter