summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Sluift/ElementConvertors/PubSubItemConvertor.cpp')
-rw-r--r--Sluift/ElementConvertors/PubSubItemConvertor.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Sluift/ElementConvertors/PubSubItemConvertor.cpp b/Sluift/ElementConvertors/PubSubItemConvertor.cpp
index e9ed753..dcaa600 100644
--- a/Sluift/ElementConvertors/PubSubItemConvertor.cpp
+++ b/Sluift/ElementConvertors/PubSubItemConvertor.cpp
@@ -28,19 +28,19 @@ PubSubItemConvertor::~PubSubItemConvertor() {
boost::shared_ptr<PubSubItem> PubSubItemConvertor::doConvertFromLua(lua_State* L) {
boost::shared_ptr<PubSubItem> result = boost::make_shared<PubSubItem>();
lua_getfield(L, -1, "data");
if (lua_type(L, -1) == LUA_TTABLE) {
std::vector< boost::shared_ptr<Payload> > items;
for(size_t i = 0; i < lua_objlen(L, -1); ++i) {
lua_pushnumber(L, i + 1);
lua_gettable(L, -2);
if (!lua_isnil(L, -1)) {
- if (boost::shared_ptr<Payload> payload = convertors->convertFromLua(L, -1)) {
+ if (boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(convertors->convertFromLua(L, -1))) {
items.push_back(payload);
}
}
lua_pop(L, 1);
}
result->setData(items);
}
lua_pop(L, 1);