From a67b15d3197615829c8831073f358896636471e2 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Wed, 1 Sep 2021 16:40:29 +0200
Subject: [PATCH] BUILD: Should fix the problems with the include order of
 things

---
 src/Lib/AbstractDocument.hh       | 5 +----
 src/UI/ScriptDocumentView.cc      | 1 +
 src/UI/ScriptViews/EditorProxy.cc | 1 +
 src/VivyApplication.cc            | 2 +-
 src/VivyApplication.hh            | 5 ++---
 5 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/Lib/AbstractDocument.hh b/src/Lib/AbstractDocument.hh
index 51ed90b0..dfec447f 100644
--- a/src/Lib/AbstractDocument.hh
+++ b/src/Lib/AbstractDocument.hh
@@ -1,5 +1,4 @@
-#ifndef VIVY_ABSTRACT_DOCUMENT_H
-#define VIVY_ABSTRACT_DOCUMENT_H
+#pragma once
 
 #ifndef __cplusplus
 #error "This is a C++ header"
@@ -101,5 +100,3 @@ signals:
 }
 
 bool operator==(const Vivy::AbstractDocument &a, const Vivy::AbstractDocument &b) noexcept;
-
-#endif // VIVY_ABSTRACT_DOCUMENT_H
diff --git a/src/UI/ScriptDocumentView.cc b/src/UI/ScriptDocumentView.cc
index b05c137d..4adf39bc 100644
--- a/src/UI/ScriptDocumentView.cc
+++ b/src/UI/ScriptDocumentView.cc
@@ -1,4 +1,5 @@
 #include "ScriptDocumentView.hh"
+#include "MainWindow.hh"
 #include "ScriptViews/ScriptEditor.hh"
 #include "ScriptViews/ScriptHighlighter.hh"
 #include "../VivyApplication.hh"
diff --git a/src/UI/ScriptViews/EditorProxy.cc b/src/UI/ScriptViews/EditorProxy.cc
index cff3cbd9..1664c5ad 100644
--- a/src/UI/ScriptViews/EditorProxy.cc
+++ b/src/UI/ScriptViews/EditorProxy.cc
@@ -1,4 +1,5 @@
 #include "EditorProxy.hh"
+#include "../MainWindow.hh"
 #include "../FakeVim/FakeVimHandler.hh"
 #include "../FakeVim/FakeVimActions.hh"
 #include "../../VivyApplication.hh"
diff --git a/src/VivyApplication.cc b/src/VivyApplication.cc
index 6cac0f9f..b6df260b 100644
--- a/src/VivyApplication.cc
+++ b/src/VivyApplication.cc
@@ -59,7 +59,7 @@ VivyApplication::exec() noexcept
     setCursorFlashTime(0);
 
     // Show the main window
-    mainWindowPtr = std::make_unique<MainWindow>();
+    mainWindowPtr = std::make_shared<MainWindow>();
     mainWindowPtr->show();
 
     logInfo() << "Entering the main event loop";
diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh
index 326fe9fc..85e715d8 100644
--- a/src/VivyApplication.hh
+++ b/src/VivyApplication.hh
@@ -4,7 +4,7 @@
 #error "This is a C++ header"
 #endif
 
-#define vivyApp (dynamic_cast<::Vivy::VivyApplication *>(VivyApplication::instance()))
+#define vivyApp (static_cast<::Vivy::VivyApplication *>(VivyApplication::instance()))
 
 #define currentVivyDocument() dynamic_cast<::Vivy::VivyDocument *>(vivyApp->getCurrentDocument())
 #define currentScriptDocument dynamic_cast<::Vivy::ScriptDocument *>(vivyApp->getCurrentDocument())
@@ -32,7 +32,6 @@
 #include "Lib/Script/ScriptStore.hh"
 #include "Lib/Document/VivyDocumentStore.hh"
 #include "Lib/Log.hh"
-#include "UI/MainWindow.hh"
 
 namespace Vivy
 {
@@ -68,7 +67,7 @@ private:
     int fontIdBold;
     int fontIdBoldItalic;
 
-    std::unique_ptr<MainWindow> mainWindowPtr{ nullptr };
+    std::shared_ptr<MainWindow> mainWindowPtr{ nullptr };
     bool useFakeVim{ false };
 
 public:
-- 
GitLab