aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/video_core.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2015-12-30 08:52:01 -0500
committerLioncash <mathew1800@gmail.com>2015-12-30 08:52:01 -0500
commit4dcc5fe6ab0aa51bf0c29400144501dcd8ba3e34 (patch)
treedf3d942ea9730a53d2597cad0b8c86cd31321d6b /src/video_core/video_core.cpp
parent17aef3b4ff133c2d39564529dfeda948673e0e16 (diff)
video_core: Make the renderer global a unique_ptr
Diffstat (limited to 'src/video_core/video_core.cpp')
-rw-r--r--src/video_core/video_core.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp
index eaddda6688..912db91a49 100644
--- a/src/video_core/video_core.cpp
+++ b/src/video_core/video_core.cpp
@@ -2,7 +2,10 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
+#include <memory>
+
#include "common/emu_window.h"
+#include "common/make_unique.h"
#include "common/logging/log.h"
#include "core/core.h"
@@ -18,8 +21,8 @@
namespace VideoCore {
-EmuWindow* g_emu_window = nullptr; ///< Frontend emulator window
-RendererBase* g_renderer = nullptr; ///< Renderer plugin
+EmuWindow* g_emu_window = nullptr; ///< Frontend emulator window
+std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin
std::atomic<bool> g_hw_renderer_enabled;
std::atomic<bool> g_shader_jit_enabled;
@@ -29,7 +32,7 @@ void Init(EmuWindow* emu_window) {
Pica::Init();
g_emu_window = emu_window;
- g_renderer = new RendererOpenGL();
+ g_renderer = Common::make_unique<RendererOpenGL>();
g_renderer->SetWindow(g_emu_window);
g_renderer->Init();
@@ -40,7 +43,7 @@ void Init(EmuWindow* emu_window) {
void Shutdown() {
Pica::Shutdown();
- delete g_renderer;
+ g_renderer.reset();
LOG_DEBUG(Render, "shutdown OK");
}