diff --git a/external/nanopb/generator/nanopb_generator.py b/external/nanopb/generator/nanopb_generator.py index e40f18b..64dad5e 100755 --- a/external/nanopb/generator/nanopb_generator.py +++ b/external/nanopb/generator/nanopb_generator.py @@ -1463,7 +1463,12 @@ class Message(ProtoElement): optional_only.ClearField(str('extension')) optional_only.ClearField(str('enum_type')) desc = google.protobuf.descriptor.MakeDescriptor(optional_only) - msg = reflection.MakeClass(desc)() + # protobuf >= 5 removed reflection.MakeClass (patch for this project) + try: + msg = reflection.MakeClass(desc)() + except AttributeError: + from google.protobuf import message_factory + msg = message_factory.GetMessageClass(desc)() for field in optional_only.field: if field.type == FieldD.TYPE_STRING: