From d11d14eb8ce16a4eecce5ad604c5969e3033c121 Mon Sep 17 00:00:00 2001 From: archshift Date: Sat, 6 Sep 2014 23:44:36 -0700 Subject: [PATCH] Virtualize destructors to make sure they get called May actually prevent a leak or two. --- src/citra/emu_window/emu_window_glfw.h | 2 +- src/citra_qt/bootmanager.hxx | 2 +- src/common/common.h | 1 + src/core/arm/arm_interface.h | 2 +- src/core/arm/interpreter/arm_interpreter.h | 2 +- src/video_core/renderer_base.h | 2 +- src/video_core/renderer_opengl/renderer_opengl.h | 2 +- 7 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/citra/emu_window/emu_window_glfw.h b/src/citra/emu_window/emu_window_glfw.h index c1b41203b..7bafbfab6 100644 --- a/src/citra/emu_window/emu_window_glfw.h +++ b/src/citra/emu_window/emu_window_glfw.h @@ -11,7 +11,7 @@ class EmuWindow_GLFW : public EmuWindow { public: EmuWindow_GLFW(); - ~EmuWindow_GLFW(); + ~EmuWindow_GLFW() override; /// Swap buffers to display the next frame void SwapBuffers(); diff --git a/src/citra_qt/bootmanager.hxx b/src/citra_qt/bootmanager.hxx index 51cb781e9..9d8126a5b 100644 --- a/src/citra_qt/bootmanager.hxx +++ b/src/citra_qt/bootmanager.hxx @@ -87,7 +87,7 @@ class GRenderWindow : public QWidget, public EmuWindow public: GRenderWindow(QWidget* parent = NULL); - ~GRenderWindow(); + ~GRenderWindow() override; void closeEvent(QCloseEvent*); diff --git a/src/common/common.h b/src/common/common.h index cb69eabe4..9aa0ba872 100644 --- a/src/common/common.h +++ b/src/common/common.h @@ -31,6 +31,7 @@ class NonCopyable protected: NonCopyable() {} NonCopyable(const NonCopyable&&) {} + ~NonCopyable() { }; void operator=(const NonCopyable&&) {} private: NonCopyable(NonCopyable&); diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index be677ae20..4b93d3313 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h @@ -16,7 +16,7 @@ public: num_instructions = 0; } - ~ARM_Interface() { + virtual ~ARM_Interface() { } /** diff --git a/src/core/arm/interpreter/arm_interpreter.h b/src/core/arm/interpreter/arm_interpreter.h index 1e82883a2..3d719cc27 100644 --- a/src/core/arm/interpreter/arm_interpreter.h +++ b/src/core/arm/interpreter/arm_interpreter.h @@ -14,7 +14,7 @@ class ARM_Interpreter : virtual public ARM_Interface { public: ARM_Interpreter(); - ~ARM_Interpreter(); + ~ARM_Interpreter() override; /** * Set the Program Counter to an address diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h index 2650620b4..f1dbc9d17 100644 --- a/src/video_core/renderer_base.h +++ b/src/video_core/renderer_base.h @@ -19,7 +19,7 @@ public: RendererBase() : m_current_fps(0), m_current_frame(0) { } - ~RendererBase() { + virtual ~RendererBase() { } /// Swap buffers (render frame) diff --git a/src/video_core/renderer_opengl/renderer_opengl.h b/src/video_core/renderer_opengl/renderer_opengl.h index eac91df51..23e36e2f9 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.h +++ b/src/video_core/renderer_opengl/renderer_opengl.h @@ -17,7 +17,7 @@ class RendererOpenGL : virtual public RendererBase { public: RendererOpenGL(); - ~RendererOpenGL(); + ~RendererOpenGL() override; /// Swap buffers (render frame) void SwapBuffers();