File nspluginwrapper-20090625-fix-npident-array-sending.patch of Package nspluginwrapper
Index: src/npw-viewer.c
===================================================================
--- src/npw-viewer.c (revision 942)
+++ src/npw-viewer.c (working copy)
@@ -2059,7 +2059,7 @@
RPC_METHOD_NPN_INVOKE,
RPC_TYPE_NPW_PLUGIN_INSTANCE, plugin,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, methodName,
+ RPC_TYPE_NP_IDENTIFIER, &methodName,
RPC_TYPE_ARRAY, RPC_TYPE_NP_VARIANT, argCount, args,
RPC_TYPE_INVALID);
@@ -2249,7 +2249,7 @@
RPC_METHOD_NPN_GET_PROPERTY,
RPC_TYPE_NPW_PLUGIN_INSTANCE, plugin,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, propertyName,
+ RPC_TYPE_NP_IDENTIFIER, &propertyName,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -2311,7 +2311,7 @@
RPC_METHOD_NPN_SET_PROPERTY,
RPC_TYPE_NPW_PLUGIN_INSTANCE, plugin,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, propertyName,
+ RPC_TYPE_NP_IDENTIFIER, &propertyName,
RPC_TYPE_NP_VARIANT, value,
RPC_TYPE_INVALID);
@@ -2370,7 +2370,7 @@
RPC_METHOD_NPN_REMOVE_PROPERTY,
RPC_TYPE_NPW_PLUGIN_INSTANCE, plugin,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, propertyName,
+ RPC_TYPE_NP_IDENTIFIER, &propertyName,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -2427,7 +2427,7 @@
RPC_METHOD_NPN_HAS_PROPERTY,
RPC_TYPE_NPW_PLUGIN_INSTANCE, plugin,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, propertyName,
+ RPC_TYPE_NP_IDENTIFIER, &propertyName,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -2484,7 +2484,7 @@
RPC_METHOD_NPN_HAS_METHOD,
RPC_TYPE_NPW_PLUGIN_INSTANCE, plugin,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, methodName,
+ RPC_TYPE_NP_IDENTIFIER, &methodName,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -2780,7 +2780,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPN_IDENTIFIER_IS_STRING,
- RPC_TYPE_NP_IDENTIFIER, identifier,
+ RPC_TYPE_NP_IDENTIFIER, &identifier,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -2838,7 +2838,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPN_UTF8_FROM_IDENTIFIER,
- RPC_TYPE_NP_IDENTIFIER, identifier,
+ RPC_TYPE_NP_IDENTIFIER, &identifier,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -2902,7 +2902,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPN_INT_FROM_IDENTIFIER,
- RPC_TYPE_NP_IDENTIFIER, identifier,
+ RPC_TYPE_NP_IDENTIFIER, &identifier,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
Index: src/npw-wrapper.c
===================================================================
--- src/npw-wrapper.c (revision 942)
+++ src/npw-wrapper.c (working copy)
@@ -1528,7 +1528,7 @@
free(name);
return rpc_method_send_reply(connection,
- RPC_TYPE_NP_IDENTIFIER, ident,
+ RPC_TYPE_NP_IDENTIFIER, &ident,
RPC_TYPE_INVALID);
}
@@ -1601,7 +1601,7 @@
NPIdentifier ident = g_NPN_GetIntIdentifier(intid);
return rpc_method_send_reply(connection,
- RPC_TYPE_NP_IDENTIFIER, ident,
+ RPC_TYPE_NP_IDENTIFIER, &ident,
RPC_TYPE_INVALID);
}
Index: src/npruntime.c
===================================================================
--- src/npruntime.c (revision 942)
+++ src/npruntime.c (working copy)
@@ -221,7 +221,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPCLASS_HAS_METHOD,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, name,
+ RPC_TYPE_NP_IDENTIFIER, &name,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -327,7 +327,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPCLASS_INVOKE,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, name,
+ RPC_TYPE_NP_IDENTIFIER, &name,
RPC_TYPE_ARRAY, RPC_TYPE_NP_VARIANT, argCount, args,
RPC_TYPE_INVALID);
@@ -509,7 +509,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPCLASS_HAS_PROPERTY,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, name,
+ RPC_TYPE_NP_IDENTIFIER, &name,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -599,7 +599,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPCLASS_GET_PROPERTY,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, name,
+ RPC_TYPE_NP_IDENTIFIER, &name,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
@@ -684,7 +684,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPCLASS_SET_PROPERTY,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, name,
+ RPC_TYPE_NP_IDENTIFIER, &name,
RPC_TYPE_NP_VARIANT, value,
RPC_TYPE_INVALID);
@@ -763,7 +763,7 @@
int error = rpc_method_invoke(g_rpc_connection,
RPC_METHOD_NPCLASS_REMOVE_PROPERTY,
RPC_TYPE_NP_OBJECT, npobj,
- RPC_TYPE_NP_IDENTIFIER, name,
+ RPC_TYPE_NP_IDENTIFIER, &name,
RPC_TYPE_INVALID);
if (error != RPC_ERROR_NO_ERROR) {
Index: src/npw-rpc.c
===================================================================
--- src/npw-rpc.c (revision 942)
+++ src/npw-rpc.c (working copy)
@@ -1252,7 +1252,7 @@
// the browser side
static int do_send_NPIdentifier(rpc_message_t *message, void *p_value)
{
- NPIdentifier ident = (NPIdentifier)p_value;
+ NPIdentifier ident = *(NPIdentifier *)p_value;
int id = 0;
if (ident) {
#ifdef BUILD_WRAPPER