Merge remote-tracking branch 'origin/develop' into develop

# Conflicts:
#	sol/simple_usertype_metatable.hpp
This commit is contained in:
ThePhD 2017-08-21 15:34:21 -04:00
commit 8d034adbdd

View File

@ -415,14 +415,14 @@ namespace sol {
auto& properties = umx.properties; auto& properties = umx.properties;
auto sic = hasindex ? &usertype_detail::simple_index_call<T, true> : &usertype_detail::simple_index_call<T, false>; auto sic = hasindex ? &usertype_detail::simple_index_call<T, true> : &usertype_detail::simple_index_call<T, false>;
auto snic = hasnewindex ? &usertype_detail::simple_new_index_call<T, true> : &usertype_detail::simple_new_index_call<T, false>; auto snic = hasnewindex ? &usertype_detail::simple_new_index_call<T, true> : &usertype_detail::simple_new_index_call<T, false>;
auto register_kvp = [&](std::size_t i, stack_reference& t, const std::string& first, object& second) { auto register_kvp = [&](std::size_t meta_index, stack_reference& t, const std::string& first, object& second) {
meta_function mf = meta_function::construct; meta_function mf = meta_function::construct;
for (std::size_t i = 1; i < properties.size(); ++i) { for (std::size_t j = 1; j < properties.size(); ++j) {
mf = static_cast<meta_function>(i); mf = static_cast<meta_function>(j);
const std::string& mfname = to_string(mf); const std::string& mfname = to_string(mf);
if (mfname != first) if (mfname != first)
continue; continue;
properties[i] = true; properties[j] = true;
switch (mf) { switch (mf) {
case meta_function::index: case meta_function::index:
umx.indexfunc = second; umx.indexfunc = second;
@ -435,7 +435,7 @@ namespace sol {
} }
break; break;
} }
switch (i) { switch (meta_index) {
case 0: case 0:
if (mf == meta_function::garbage_collect) { if (mf == meta_function::garbage_collect) {
return; return;