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.
This commit is contained in:
Lioncash 2018-05-21 11:54:53 -04:00
parent 42a1545f8e
commit f9c20571ab
2 changed files with 8 additions and 3 deletions

View File

@ -63,6 +63,10 @@ std::vector<std::string> 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.

View File

@ -48,8 +48,9 @@ public:
typedef std::map<std::string, ConfigurationOption> 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;