diff --git a/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp b/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp index 886e86a..a072dd5 100644 --- a/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp +++ b/SpeckleLib/Speckle/Interface/Browser/Bridge/Functions/GetCallResult.cpp @@ -5,6 +5,8 @@ #include "Active/Utility/BufferOut.h" #include "Speckle/Interface/Browser/Bridge/BrowserBridge.h" +#include + #ifdef ARCHICAD #include #include @@ -46,11 +48,12 @@ std::unique_ptr GetCallResult::getArgument() const { return: The requested result (nullptr on failure) --------------------------------------------------------------------*/ std::unique_ptr GetCallResult::getResult(WrappedResultArg& argument) const { - //Confirm argument and function validity + //Confirm argument type auto result = m_bridge.releaseResult(argument); - if (!result) + auto item = dynamic_cast(result.get()); + if (!item) return nullptr; String jsonOutput; - json::JSONTransport().send(ItemWrap{*result}, Identity{}, jsonOutput); + json::JSONTransport().send(std::forward(*item), Identity{}, jsonOutput); return std::make_unique(jsonOutput); } //GetCallResult::getResult