diff --git a/pybindgen/cppclass.py b/pybindgen/cppclass.py index 97c1b82..808dce7 100644 --- a/pybindgen/cppclass.py +++ b/pybindgen/cppclass.py @@ -1416,7 +1416,7 @@ class CppClassParameter(CppClassParameterBase): else: implicit_conversion_sources = self.cpp_class.get_all_implicit_conversions() if not implicit_conversion_sources: - if self.default_value: + if self.default_value is not None: self.py_name = wrapper.declarations.declare_variable( self.cpp_class.pystruct+'*', self.name, 'NULL') wrapper.parse_params.add_parameter( @@ -1514,7 +1514,7 @@ class CppClassRefParameter(CppClassParameterBase): else: implicit_conversion_sources = self.cpp_class.get_all_implicit_conversions() if not (implicit_conversion_sources and self.is_const): - if self.default_value: + if self.default_value is not None: self.py_name = wrapper.declarations.declare_variable( self.cpp_class.pystruct+'*', self.name, 'NULL') wrapper.parse_params.add_parameter( @@ -1530,7 +1530,7 @@ class CppClassRefParameter(CppClassParameterBase): wrapper.call_params.append( '*((%s *) %s)->obj' % (self.cpp_class.pystruct, self.py_name)) else: - if self.default_value: + if self.default_value is not None: warnings.warn("with implicit conversions, default value " "in C++ class reference parameters is ignored.") self.py_name = wrapper.declarations.declare_variable(