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
openSUSE Build Service is sponsored by