diff options
author | Federico Simoncelli <fsimonce@redhat.com> | 2012-12-10 13:08:07 +0100 |
---|---|---|
committer | Peter Hatina <phatina@redhat.com> | 2012-12-10 13:08:07 +0100 |
commit | cc1c1169b1ddab5fc664bd169db086e29ecd6af5 (patch) | |
tree | 5037fb4176317766239857b3af1d383a3852668a | |
parent | e3722a60d097228277061e8331b45b39117467cc (diff) |
fix issues in ScriptablePluginObject::SetProperty
-rw-r--r-- | SpiceXPI/src/plugin/nsScriptablePeer.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/SpiceXPI/src/plugin/nsScriptablePeer.cpp b/SpiceXPI/src/plugin/nsScriptablePeer.cpp index caab9b7..622659c 100644 --- a/SpiceXPI/src/plugin/nsScriptablePeer.cpp +++ b/SpiceXPI/src/plugin/nsScriptablePeer.cpp @@ -242,12 +242,14 @@ bool ScriptablePluginObject::SetProperty(NPIdentifier name, const NPVariant *val return false; std::string str; + std::stringstream ss; PRBool boolean = false; unsigned short val = -1; if (NPVARIANT_IS_STRING(*value)) { - str = NPVARIANT_TO_STRING(*value).UTF8Characters; + str.assign(NPVARIANT_TO_STRING(*value).UTF8Characters, + NPVARIANT_TO_STRING(*value).UTF8Length); } else if (NPVARIANT_IS_BOOLEAN(*value)) { @@ -256,8 +258,12 @@ bool ScriptablePluginObject::SetProperty(NPIdentifier name, const NPVariant *val else if (NPVARIANT_IS_INT32(*value)) { val = NPVARIANT_TO_INT32(*value); - - std::stringstream ss; + ss << val; + ss >> str; + } + else if (NPVARIANT_IS_DOUBLE(*value)) + { + val = NPVARIANT_TO_DOUBLE(*value); ss << val; ss >> str; } |