From cfa2baf8c99714cabb0d4d6f2a5641d40307d0c9 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Tue, 7 Jun 2011 04:15:33 +0000 Subject: [PATCH] merging current boost/python and libs/python from trunk into release branch [SVN r72464] --- include/boost/python/override.hpp | 2 +- src/converter/builtin_converters.cpp | 2 ++ src/converter/from_python.cpp | 5 +---- src/object/class.cpp | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) mode change 100755 => 100644 include/boost/python/override.hpp diff --git a/include/boost/python/override.hpp b/include/boost/python/override.hpp old mode 100755 new mode 100644 index d5a95b83..39714257 --- a/include/boost/python/override.hpp +++ b/include/boost/python/override.hpp @@ -77,7 +77,7 @@ namespace detail template T unchecked(type* = 0) { - return extract(m_obj)(); + return extract(m_obj.get())(); } private: mutable handle<> m_obj; diff --git a/src/converter/builtin_converters.cpp b/src/converter/builtin_converters.cpp index 19f0126c..c7c95ea8 100644 --- a/src/converter/builtin_converters.cpp +++ b/src/converter/builtin_converters.cpp @@ -366,7 +366,9 @@ namespace static PyTypeObject const* get_pytype() { return &PyFloat_Type;} }; +#if PY_VERSION_HEX >= 0x03000000 unaryfunc py_unicode_as_string_unaryfunc = PyUnicode_AsUTF8String; +#endif // A SlotPolicy for extracting C++ strings from Python objects. struct string_rvalue_from_python diff --git a/src/converter/from_python.cpp b/src/converter/from_python.cpp index 0af47609..9678be1c 100644 --- a/src/converter/from_python.cpp +++ b/src/converter/from_python.cpp @@ -44,11 +44,8 @@ BOOST_PYTHON_DECL rvalue_from_python_stage1_data rvalue_from_python_stage1( // First check to see if it's embedded in an extension class // instance, as a special case. data.convertible = objects::find_instance_impl(source, converters.target_type, converters.is_shared_ptr); - if (data.convertible) - { data.construct = 0; - } - else + if (!data.convertible) { for (rvalue_from_python_chain const* chain = converters.rvalue_chain; chain != 0; diff --git a/src/object/class.cpp b/src/object/class.cpp index 3f818d82..aeef688e 100644 --- a/src/object/class.cpp +++ b/src/object/class.cpp @@ -76,11 +76,11 @@ extern "C" static int property_init(PyObject *self, PyObject *args, PyObject *kwds) { PyObject *get = NULL, *set = NULL, *del = NULL, *doc = NULL; - static char *kwlist[] = {"fget", "fset", "fdel", "doc", 0}; + static const char *kwlist[] = {"fget", "fset", "fdel", "doc", 0}; propertyobject *prop = (propertyobject *)self; if (!PyArg_ParseTupleAndKeywords(args, kwds, "|OOOO:property", - kwlist, &get, &set, &del, &doc)) + const_cast(kwlist), &get, &set, &del, &doc)) return -1; if (get == Py_None)