| Index: client/dom/scripts/databasebuilder.py
|
| diff --git a/client/dom/scripts/databasebuilder.py b/client/dom/scripts/databasebuilder.py
|
| index 81d104682d64660c57c4a72805cd71b3f7db09d3..f0e2d55ee50c82d58c0694e0ab9e3df5a21be491 100755
|
| --- a/client/dom/scripts/databasebuilder.py
|
| +++ b/client/dom/scripts/databasebuilder.py
|
| @@ -126,13 +126,19 @@ class DatabaseBuilder(object):
|
| for op in interface.operations:
|
| for i in range(0, len(op.arguments)):
|
| argument = op.arguments[i]
|
| +
|
| + in_optional_whitelist = (interface.id, op.id, argument.id) in optional_argument_whitelist
|
| + if in_optional_whitelist or set(['Optional', 'Callback']).issubset(argument.ext_attrs.keys()):
|
| + argument.is_optional = True
|
| + argument.ext_attrs['RequiredCppParameter'] = None
|
| + continue
|
| +
|
| if argument.is_optional:
|
| if 'Optional' in argument.ext_attrs:
|
| optional_value = argument.ext_attrs['Optional']
|
| if optional_value:
|
| - if (interface.id, op.id, argument.id) not in optional_argument_whitelist:
|
| - argument.is_optional = False
|
| - del argument.ext_attrs['Optional']
|
| + argument.is_optional = False
|
| + del argument.ext_attrs['Optional']
|
|
|
| # split operations with optional args into multiple operations
|
| new_ops = []
|
|
|