From 1c679f3a3f8d3f08f42d80e673180664239354c6 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Fri, 27 Oct 2017 09:46:38 +0200 Subject: [PATCH 1/1] fix leak --- src/instr/instr_interface.cpp | 5 +++-- src/instr/instr_private.hpp | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/instr/instr_interface.cpp b/src/instr/instr_interface.cpp index 9ca67ce5e7..7bcae37cb1 100644 --- a/src/instr/instr_interface.cpp +++ b/src/instr/instr_interface.cpp @@ -178,7 +178,8 @@ void TRACE_declare_mark_value_with_color (const char *mark_type, const char *mar if (not mark_value) THROWF (tracing_error, 1, "mark_value is nullptr"); - simgrid::instr::Type* type = simgrid::instr::Type::getRootType()->byName(mark_type); + simgrid::instr::EventType* type = + static_cast(simgrid::instr::Type::getRootType()->byName(mark_type)); if (not type) { THROWF (tracing_error, 1, "mark_type with name (%s) is not declared", mark_type); } else { @@ -186,7 +187,7 @@ void TRACE_declare_mark_value_with_color (const char *mark_type, const char *mar mark_color = "1.0 1.0 1.0" /*white*/; XBT_DEBUG("MARK,declare_value %s %s %s", mark_type, mark_value, mark_color); - static_cast(type)->addEntityValue(mark_value, mark_color); + type->addEntityValue(mark_value, mark_color); } } diff --git a/src/instr/instr_private.hpp b/src/instr/instr_private.hpp index 60bffc650e..1de5b6f850 100644 --- a/src/instr/instr_private.hpp +++ b/src/instr/instr_private.hpp @@ -69,7 +69,7 @@ public: std::map children_; Type(std::string name, std::string alias, std::string color, Type* father); - ~Type(); + virtual ~Type(); std::string getName() { return name_; } const char* getCname() { return name_.c_str(); } @@ -106,7 +106,7 @@ public: std::map values_; ValueType(std::string name, std::string alias, Type* father) : Type(name, alias, "", father){}; ValueType(std::string name, Type* father) : Type(name, name, "", father){}; - ~ValueType(); + virtual ~ValueType(); void addEntityValue(std::string name, std::string color); void addEntityValue(std::string name); Value* getEntityValue(std::string name); -- 2.20.1