Browse Source

NPAPI fix.

tags/2021-05-28
Julian Storer 15 years ago
parent
commit
a9b1c0cd4e
1 changed files with 11 additions and 7 deletions
  1. +11
    -7
      extras/browser plugins/wrapper/juce_NPAPI_GlueCode.cpp

+ 11
- 7
extras/browser plugins/wrapper/juce_NPAPI_GlueCode.cpp View File

@@ -686,16 +686,20 @@ private:
if (o == 0 || ! o->hasMethod (methodName))
return false;
HeapBlock <var> params;
params.calloc (argCount);
struct ParamHolder
{
ParamHolder (uint32_t num) { params = new var [num]; }
~ParamHolder() { delete[] params; }
for (uint32_t i = 0; i < argCount; ++i)
params[i] = createValueFromNPVariant (npp, args[i]);
var* params;
};
const var result (o->invokeMethod (methodName, params, argCount));
ParamHolder params (argCount);
for (uint32_t i = 0; i < argCount; ++i)
params.params[i] = createValueFromNPVariant (npp, args[i]);
for (int i = argCount; --i >= 0;)
params[i] = var();
const var result (o->invokeMethod (methodName, params.params, argCount));
if (out != 0)
createNPVariantFromValue (npp, *out, result);


Loading…
Cancel
Save