diff options
author | Brad King <brad.king@kitware.com> | 2005-02-18 21:19:09 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2005-02-18 21:19:09 (GMT) |
commit | ffb2c0c0e5ff92a1611dba3de3fc11ce3f3cbe63 (patch) | |
tree | f16a889c6f1cb968680d72c37e7127b5faaa7930 | |
parent | 04b5d1613c6082558bb6dca4b831747399409035 (diff) | |
download | CMake-ffb2c0c0e5ff92a1611dba3de3fc11ce3f3cbe63.zip CMake-ffb2c0c0e5ff92a1611dba3de3fc11ce3f3cbe63.tar.gz CMake-ffb2c0c0e5ff92a1611dba3de3fc11ce3f3cbe63.tar.bz2 |
BUG: cmSourceFile instances should delete their own custom commands when a new one is set.
-rw-r--r-- | Source/cmMakefile.cxx | 4 | ||||
-rw-r--r-- | Source/cmSourceFile.cxx | 9 | ||||
-rw-r--r-- | Source/cmSourceFile.h | 5 |
3 files changed, 11 insertions, 7 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index cd3b4de..62a1e7c 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -701,10 +701,6 @@ AddCustomCommandToOutput(const char* outputIn, } if(file) { - if (file->GetCustomCommand()) - { - delete file->GetCustomCommand(); - } file->SetCustomCommand(cc); } } diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx index ed8d63f..6fac024 100644 --- a/Source/cmSourceFile.cxx +++ b/Source/cmSourceFile.cxx @@ -201,3 +201,12 @@ bool cmSourceFile::GetPropertyAsBool(const char* prop) const } return false; } + +void cmSourceFile::SetCustomCommand(cmCustomCommand* cc) +{ + if(m_CustomCommand) + { + delete m_CustomCommand; + } + m_CustomCommand = cc; +} diff --git a/Source/cmSourceFile.h b/Source/cmSourceFile.h index 7607fe2..ea78397 100644 --- a/Source/cmSourceFile.h +++ b/Source/cmSourceFile.h @@ -38,7 +38,7 @@ public: } ~cmSourceFile() { - if (m_CustomCommand) { delete m_CustomCommand; } + this->SetCustomCommand(0); } /** @@ -56,8 +56,7 @@ public: const cmCustomCommand *GetCustomCommand() const {return m_CustomCommand;} cmCustomCommand *GetCustomCommand() {return m_CustomCommand;} - void SetCustomCommand(cmCustomCommand *cc) - { m_CustomCommand = cc;} + void SetCustomCommand(cmCustomCommand *cc); /** * Set the name of the file, given the directory the file should be in. IN |