From 810a286f8fc113470b2c6b7fffe58ad2c0e5898e Mon Sep 17 00:00:00 2001 From: "Gustavo J. A. M. Carneiro" Date: Mon, 21 Apr 2008 17:56:02 +0100 Subject: [PATCH] More correct handling of default values --- pybindgen/cppclass.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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(