summaryrefslogtreecommitdiff
path: root/include/mbgl/style/conversion.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/style/conversion.hpp')
-rw-r--r--include/mbgl/style/conversion.hpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/mbgl/style/conversion.hpp b/include/mbgl/style/conversion.hpp
index 2c75a71206..0b7e0b2b2f 100644
--- a/include/mbgl/style/conversion.hpp
+++ b/include/mbgl/style/conversion.hpp
@@ -251,11 +251,14 @@ private:
},
[] (const Storage& s, const char * key) {
optional<T> member = Traits::objectMember(reinterpret_cast<const T&>(s), key);
- if (member) return optional<Convertible>(std::move(*member));
- return optional<Convertible>();
+ if (member) {
+ return optional<Convertible>(Convertible(std::move(*member)));
+ } else {
+ return optional<Convertible>();
+ }
},
[] (const Storage& s, const std::function<optional<Error> (const std::string&, const Convertible&)>& fn) {
- return Traits::eachMember(reinterpret_cast<const T&>(s), [&](const std::string& k, const T&& v) {
+ return Traits::eachMember(reinterpret_cast<const T&>(s), [&](const std::string& k, T&& v) {
return fn(k, Convertible(std::move(v)));
});
},