Index: mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
index da93e076b4faf374af2edd39312773817b2c181d..c171aa3a19f4aabf2614909381508f0b7d740b86 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl |
@@ -18,7 +18,7 @@ |
{{struct.name}}Ptr {{struct.name}}::Clone() const { |
{{struct.name}}Ptr rv(New()); |
{%- for field in struct.fields %} |
-{%- if field.kind|is_struct_kind or field.kind|is_array_kind or field.kind|is_map_kind %} |
+{%- if field.kind|is_object_kind and not field.kind|is_string_kind %} |
rv->{{field.name}} = {{field.name}}.Clone(); |
{%- else %} |
rv->{{field.name}} = {{field.name}}; |