| Index: tools/json_schema_compiler/cc_generator.py
|
| diff --git a/tools/json_schema_compiler/cc_generator.py b/tools/json_schema_compiler/cc_generator.py
|
| index 73413efaeadf2300339b79763ece40a4452dd6db..6faac39751815d5910326658b21d4bb6583fde5a 100644
|
| --- a/tools/json_schema_compiler/cc_generator.py
|
| +++ b/tools/json_schema_compiler/cc_generator.py
|
| @@ -363,11 +363,16 @@ class _Generator(object):
|
| for prop in type_.properties.values():
|
| prop_var = 'this->%s' % prop.unix_name
|
| if prop.optional:
|
| - # Optional enum values are generated with a NONE enum value.
|
| underlying_type = self._type_helper.FollowRef(prop.type_)
|
| if underlying_type.property_type == PropertyType.ENUM:
|
| - c.Sblock('if (%s != %s) {' %
|
| + # Optional enum values are generated with a NONE enum value,
|
| + # potentially from another namespace.
|
| + maybe_namespace = ''
|
| + if underlying_type.namespace != self._namespace:
|
| + maybe_namespace = '%s::' % underlying_type.namespace.unix_name
|
| + c.Sblock('if (%s != %s%s) {' %
|
| (prop_var,
|
| + maybe_namespace,
|
| self._type_helper.GetEnumNoneValue(prop.type_)))
|
| else:
|
| c.Sblock('if (%s.get()) {' % prop_var)
|
|
|