From f9c20571ab3b0be276e17593abbbd7fe6795daa9 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 21 May 2018 11:54:53 -0400 Subject: [PATCH] PostProcessing: Default constructor and destructor of PostProcessingShaderConfiguration Also ensure that all members of the class are initialized on construction as well. Previously the bool indicating if options are dirty wouldn't be initialized, which could be read uninitialized if an instance was constructed and then IsDirty() is called. --- Source/Core/VideoCommon/PostProcessing.cpp | 4 ++++ Source/Core/VideoCommon/PostProcessing.h | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Source/Core/VideoCommon/PostProcessing.cpp b/Source/Core/VideoCommon/PostProcessing.cpp index 027ad85ab5..756bcea5e0 100644 --- a/Source/Core/VideoCommon/PostProcessing.cpp +++ b/Source/Core/VideoCommon/PostProcessing.cpp @@ -63,6 +63,10 @@ std::vector PostProcessingShaderImplementation::GetAnaglyphShaderLi return {}; } +PostProcessingShaderConfiguration::PostProcessingShaderConfiguration() = default; + +PostProcessingShaderConfiguration::~PostProcessingShaderConfiguration() = default; + std::string PostProcessingShaderConfiguration::LoadShader(std::string shader) { // Load the shader from the configuration if there isn't one sent to us. diff --git a/Source/Core/VideoCommon/PostProcessing.h b/Source/Core/VideoCommon/PostProcessing.h index f453fff587..d114b26523 100644 --- a/Source/Core/VideoCommon/PostProcessing.h +++ b/Source/Core/VideoCommon/PostProcessing.h @@ -48,8 +48,9 @@ public: typedef std::map ConfigMap; - PostProcessingShaderConfiguration() : m_current_shader("") {} - virtual ~PostProcessingShaderConfiguration() {} + PostProcessingShaderConfiguration(); + virtual ~PostProcessingShaderConfiguration(); + // Loads the configuration with a shader // If the argument is "" the class will load the shader from the g_activeConfig option. // Returns the loaded shader source from file @@ -69,7 +70,7 @@ public: void SetOptionb(const std::string& option, bool value); private: - bool m_any_options_dirty; + bool m_any_options_dirty = false; std::string m_current_shader; ConfigMap m_options;