diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index ea14ad1130..14a1f3f353 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -255,7 +255,7 @@ enum UpdateCommand : uint32_t { class InfoResponseProtoMessage : public ProtoMessage { public: - virtual ~InfoResponseProtoMessage() = default; + ~InfoResponseProtoMessage() override = default; std::string object_id{}; uint32_t key{0}; std::string name{}; @@ -269,7 +269,7 @@ class InfoResponseProtoMessage : public ProtoMessage { class StateResponseProtoMessage : public ProtoMessage { public: - virtual ~StateResponseProtoMessage() = default; + ~StateResponseProtoMessage() override = default; uint32_t key{0}; protected: diff --git a/script/api_protobuf/api_protobuf.py b/script/api_protobuf/api_protobuf.py index ef0edff18b..66e5d62422 100755 --- a/script/api_protobuf/api_protobuf.py +++ b/script/api_protobuf/api_protobuf.py @@ -1137,8 +1137,8 @@ def build_base_class( out = f"class {base_class_name} : public ProtoMessage {{\n" out += " public:\n" - # Add virtual destructor - public_content.insert(0, f"virtual ~{base_class_name}() = default;") + # Add destructor with override + public_content.insert(0, f"~{base_class_name}() override = default;") # Base classes don't implement encode/decode/calculate_size # Derived classes handle these with their specific field numbers