Index: mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl |
index ebc6048c29253d881deb160df3c3e8209412c8a7..0285dac0614fb1dcaf313f602cef4644d31fa97f 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl |
@@ -149,11 +149,14 @@ |
if ({{input}}->header_.version < {{pf.min_version}}) |
break; |
{%- endif %} |
-{%- if kind|is_native_only_kind %} |
+{%- if kind|is_native_only_kind and kind|is_struct_kind %} |
if (!DeserializeNative_( |
{{input}}->{{name}}.ptr, &{{output_field}}, {{context}})) { |
{{success}} = false; |
} |
+{%- elif kind|is_native_only_kind and kind|is_enum_kind %} |
+ {{output_field}} = static_cast<{{kind|cpp_wrapper_type}}>( |
+ {{input}}->{{name}}); |
{%- elif kind|is_typemapped_kind %} |
if (!{{kind|get_name_for_kind}}_SerializerTraits_<{{kind|cpp_wrapper_type}}> |
::Deserialize( |