summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Sluift/sluift.cpp')
-rw-r--r--Sluift/sluift.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Sluift/sluift.cpp b/Sluift/sluift.cpp
index 3908631..a04ceeb 100644
--- a/Sluift/sluift.cpp
+++ b/Sluift/sluift.cpp
@@ -142,19 +142,19 @@ SLUIFT_LUA_FUNCTION_WITH_HELP(
}
SLUIFT_LUA_FUNCTION_WITH_HELP(
Sluift, to_xml,
"Convert a structured element into XML.",
"element the element to convert",
""
) {
static FullPayloadSerializerCollection serializers;
- boost::shared_ptr<Payload> payload = Sluift::globals.elementConvertor.convertFromLua(L, 1);
+ boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(Sluift::globals.elementConvertor.convertFromLua(L, 1));
if (!payload) {
throw Lua::Exception("Unrecognized XML");
}
PayloadSerializer* serializer = serializers.getPayloadSerializer(payload);
if (!payload) {
throw Lua::Exception("Unrecognized XML");
}
lua_pushstring(L, serializer->serialize(payload).c_str());
return 1;