Index: head/www/nspluginwrapper-devel/Makefile =================================================================== --- head/www/nspluginwrapper-devel/Makefile (revision 273223) +++ head/www/nspluginwrapper-devel/Makefile (revision 273224) @@ -1,72 +1,71 @@ # New ports collection makefile for: nspluginwrapper # Date created: 30 March 2007 # Whom: Dave Grochowski # # $FreeBSD$ # PORTNAME= nspluginwrapper -PORTVERSION= 1.3.0 -PORTREVISION= 9 +PORTVERSION= 1.3.2 CATEGORIES= www linux emulators -MASTER_SITES= LOCAL/jkim -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${BINFILE}${EXTRACT_SUFX} +MASTER_SITES= http://web.mit.edu/davidben/Public/nspluginwrapper/ \ + LOCAL/jkim:binfile +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${BINFILE}:binfile MAINTAINER= jkim@FreeBSD.org COMMENT= A compatibility plugin for Mozilla NPAPI (development version) LIB_DEPENDS= curl.6:${PORTSDIR}/ftp/curl LATEST_LINK= ${PORTNAME}-devel CONFLICTS= nspluginwrapper-1.2.* -BINFILE= ${PORTNAME}-i386-${PORTVERSION}-5 +BINBUILD= 1 +BINFILE= ${PORTNAME}-i386-${PORTVERSION}-${BINBUILD}${EXTRACT_SUFX} ONLY_FOR_ARCHS= i386 amd64 -USE_BZIP2= yes USE_LINUX= yes USE_LINUX_APPS= gtk2 USE_XORG= x11 xext xt USE_GNOME= glib20 gtk20 pkgconfig CFLAGS+= -std=c99 USE_LDCONFIG= yes USE_GMAKE= yes HAS_CONFIGURE= yes CONFIGURE_ARGS= --enable-generic --enable-strip --prefix=${PREFIX} \ --target-os=linux --target-cpu=i386 \ - --with-cc=${CC} --with-cxx=${CXX} \ - --with-x11-prefix=${LOCALBASE} + --with-cc=${CC} --with-cxx=${CXX} LIBDIR= ${PREFIX}/lib/${PORTNAME} PLIST_SUB= LIBDIR="${LIBDIR:C/^${PREFIX}\///}" HOST_ARCH="${HOST_ARCH}" SUB_FILES= npviewer SUB_LIST+= NSPLUGINWRAPPER="${LIBDIR}" .include .if ${ARCH} == "amd64" HOST_ARCH= x86_64 .else HOST_ARCH= ${ARCH} .endif post-patch: - ${REINPLACE_CMD} -e 's,/usr/X11R6,${LOCALBASE},g' \ + ${REINPLACE_CMD} -e 's,%%LOCALBASE%%,${LOCALBASE},g' \ ${WRKSRC}/src/npw-config.c post-install: ${MKDIR} ${LIBDIR}/i386/linux ${INSTALL_PROGRAM} ${WRKDIR}/usr/lib/nspluginwrapper/i386/linux/*.bin \ ${WRKDIR}/usr/lib/nspluginwrapper/i386/linux/*.so \ ${LIBDIR}/i386/linux/ ${INSTALL_SCRIPT} ${WRKDIR}/npviewer ${LIBDIR}/i386/linux/ @${CAT} ${PKGMESSAGE} .include Property changes on: head/www/nspluginwrapper-devel/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.27 \ No newline at end of property +1.28 \ No newline at end of property Index: head/www/nspluginwrapper-devel/distinfo =================================================================== --- head/www/nspluginwrapper-devel/distinfo (revision 273223) +++ head/www/nspluginwrapper-devel/distinfo (revision 273224) @@ -1,4 +1,4 @@ -SHA256 (nspluginwrapper-1.3.0.tar.bz2) = b8900bd5f0bd950f95b963e5c8f5e20d7d15cc70e777b6058289687ad968b21c -SIZE (nspluginwrapper-1.3.0.tar.bz2) = 336049 -SHA256 (nspluginwrapper-i386-1.3.0-5.tar.bz2) = 57904964581c0b171be392fce30542941caf9a848b8b1db4987171949615283a -SIZE (nspluginwrapper-i386-1.3.0-5.tar.bz2) = 62313 +SHA256 (nspluginwrapper-1.3.2.tar.gz) = f3a40d160601520d36b6f5c342e1e9751b2bdc70dff5e2e880e1d18ed8830201 +SIZE (nspluginwrapper-1.3.2.tar.gz) = 410887 +SHA256 (nspluginwrapper-i386-1.3.2-1.tar.gz) = 56bc1e4699456e6798929da47a867cf9e47bf29b3d5e7a88885a4f05f8de3be0 +SIZE (nspluginwrapper-i386-1.3.2-1.tar.gz) = 64964 Property changes on: head/www/nspluginwrapper-devel/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.10 \ No newline at end of property +1.11 \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-racecond =================================================================== --- head/www/nspluginwrapper-devel/files/patch-racecond (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-racecond (nonexistent) @@ -1,209 +0,0 @@ ---- src/npw-viewer.c.orig 2011-03-28 17:46:24.000000000 -0400 -+++ src/npw-viewer.c 2011-03-28 17:52:16.000000000 -0400 -@@ -221,8 +221,17 @@ - static GList *g_delayed_calls = NULL; - static guint g_delayed_calls_id = 0; - -+// We put delayed NPP_Destroy calls on a separate list because, unlike -+// NPN_ReleaseObject, these must be called on a clean stack and have no -+// other cause to get cleared. Otherwise, it is possible for the -+// delayed_calls_process in g_NPP_Destroy_Now to call it early. -+static GList *g_delayed_destroys = NULL; -+static guint g_delayed_destroys_id = 0; -+ - static void g_NPN_ReleaseObject_Now(NPObject *npobj); -+static NPError g_NPP_Destroy_Now(PluginInstance *plugin, NPSavedData **sdata); - static gboolean delayed_calls_process_cb(gpointer user_data); -+static gboolean delayed_destroys_process_cb(gpointer user_data); - - static void delayed_calls_add(int type, gpointer data) - { -@@ -238,13 +247,19 @@ - delayed_calls_process_cb, NULL, NULL); - } - -+static void delayed_destroys_add(PluginInstance *plugin) -+{ -+ g_delayed_destroys = g_list_append(g_delayed_destroys, plugin); -+ -+ if (g_delayed_destroys_id == 0) -+ g_delayed_destroys_id = g_idle_add_full(G_PRIORITY_LOW, -+ delayed_destroys_process_cb, NULL, NULL); -+} -+ - // Returns whether there are pending calls left in the queue - static gboolean delayed_calls_process(PluginInstance *plugin, gboolean is_in_NPP_Destroy) - { -- GList *l = g_delayed_calls; -- while (l != NULL) { -- GList *cl = l; -- l = l->next; -+ while (g_delayed_calls != NULL) { - - if (!is_in_NPP_Destroy) { - /* Continue later if there is incoming RPC */ -@@ -252,7 +267,11 @@ - return TRUE; - } - -- DelayedCall *dcall = (DelayedCall *)cl->data; -+ DelayedCall *dcall = (DelayedCall *)g_delayed_calls->data; -+ /* XXX: Remove the link first; this function /must/ be -+ * re-entrant. We may be called again while processing the -+ * delayed call. */ -+ g_delayed_calls = g_list_delete_link(g_delayed_calls, g_delayed_calls); - switch (dcall->type) { - case RPC_DELAYED_NPN_RELEASE_OBJECT: - { -@@ -262,7 +281,6 @@ - } - } - NPW_MemFree(dcall); -- g_delayed_calls = g_list_delete_link(g_delayed_calls, cl); - } - - if (g_delayed_calls) -@@ -280,6 +298,25 @@ - return delayed_calls_process(NULL, FALSE); - } - -+static gboolean delayed_destroys_process_cb(gpointer user_data) -+{ -+ while (g_delayed_destroys != NULL) { -+ PluginInstance *plugin = (PluginInstance *)g_delayed_destroys->data; -+ g_delayed_destroys = g_list_delete_link(g_delayed_destroys, -+ g_delayed_destroys); -+ g_NPP_Destroy_Now(plugin, NULL); -+ } -+ -+ if (g_delayed_destroys) -+ return TRUE; -+ -+ if (g_delayed_destroys_id) { -+ g_source_remove(g_delayed_destroys_id); -+ g_delayed_destroys_id = 0; -+ } -+ return FALSE; -+} -+ - // NPIdentifier cache - static inline bool use_npidentifier_cache(void) - { -@@ -741,7 +778,6 @@ - } - } - -- - /* ====================================================================== */ - /* === XPCOM glue === */ - /* ====================================================================== */ -@@ -3338,6 +3374,13 @@ - return error; - } - -+ /* Clear any NPP_Destroys we may have delayed. Although it doesn't -+ really matter, and the plugin is going to die soon. -+ -+ XXX: To be really picky, we should probably delay this and make -+ sure it is run on a new event loop iteration. */ -+ delayed_destroys_process_cb(NULL); -+ - NPError ret = g_NP_Shutdown(); - return rpc_method_send_reply(connection, RPC_TYPE_INT32, ret, RPC_TYPE_INVALID); - } -@@ -3459,6 +3502,8 @@ - - // Process all pending calls as the data could become junk afterwards - // XXX: this also processes delayed calls from other instances -+ // XXX: Also, if this was delayed, the NPN_ReleaseObject calls will -+ // be ignored; the browser thinks we've already died. - delayed_calls_process(plugin, TRUE); - - D(bugiI("NPP_Destroy instance=%p\n", instance)); -@@ -3473,6 +3518,22 @@ - return ret; - } - -+static NPError g_NPP_Destroy_Now(PluginInstance *plugin, NPSavedData **save) -+{ -+ D(bug("g_NPP_Destroy_Now\n")); -+ -+ NPSavedData *save_area = NULL; -+ NPError ret = g_NPP_Destroy(PLUGIN_INSTANCE_NPP(plugin), &save_area); -+ if (save) { -+ *save = save_area; -+ } else if (save_area) { -+ npw_printf("WARNING: NPP_Destroy returned save_area, but it was ignored\n"); -+ } -+ -+ rpc_connection_unref(g_rpc_connection); -+ return ret; -+} -+ - static int handle_NPP_Destroy(rpc_connection_t *connection) - { - D(bug("handle_NPP_Destroy\n")); -@@ -3488,8 +3549,26 @@ - return error; - } - -- NPSavedData *save_area; -- NPError ret = g_NPP_Destroy(PLUGIN_INSTANCE_NPP(plugin), &save_area); -+ NPSavedData *save_area = NULL; -+ NPError ret = NPERR_NO_ERROR; -+ /* Take a ref for the rpc_method_send_reply; otherwise the -+ * rpc_connection_unref in g_NPP_Destroy_Now may cause a slight -+ * nuisance. */ -+ rpc_connection_ref(connection); -+ if (!rpc_method_in_invoke(connection)) { -+ /* The plugin is not on the stack; it's safe to call this. */ -+ D(bug("NPP_Destroy is fine.\n")); -+ ret = g_NPP_Destroy_Now(plugin, &save_area); -+ } else { -+ /* It is not safe to call NPP_Destroy right now. Delay it until we -+ * return to the event loop. -+ * -+ * NOTE: This means that the browser never sees the real return -+ * value of NPP_Destroy; the NPSavedData will be discarded, and any -+ * error code will be ignored. */ -+ D(bug("NPP_Destroy raced; delaying it to get a clean stack.\n")); -+ delayed_destroys_add(plugin); -+ } - - error = rpc_method_send_reply(connection, - RPC_TYPE_INT32, ret, ---- src/rpc.c.orig 2009-01-02 09:22:29.000000000 -0500 -+++ src/rpc.c 2011-03-28 17:52:16.000000000 -0400 -@@ -2097,6 +2097,22 @@ - return ret; - } - -+bool rpc_method_in_invoke(rpc_connection_t *connection) -+{ -+ D(bug("rpc_method_in_invoke\n")); -+ if (connection == NULL) -+ return false; -+ // Our stack should alternate between handle/dispatch and -+ // invokes. Some calls are only safe to handle called from an event -+ // loop. In this case, we should have values invoke_depth = 0; -+ // handle_depth = 1; dispatch_depth = 1 -+ D(bug("invoke_depth = %d; dispatch_depth = %d; handle_depth = %d\n", -+ connection->invoke_depth, -+ connection->dispatch_depth, -+ connection->handle_depth)); -+ return connection->invoke_depth > 0; -+} -+ - - /* ====================================================================== */ - /* === Test Program === */ ---- src/rpc.h.orig 2009-01-02 09:22:29.000000000 -0500 -+++ src/rpc.h 2011-03-28 17:52:16.000000000 -0400 -@@ -119,6 +119,7 @@ - extern int rpc_method_wait_for_reply(rpc_connection_t *connection, ...) attribute_hidden; - extern int rpc_method_get_args(rpc_connection_t *connection, ...) attribute_hidden; - extern int rpc_method_send_reply(rpc_connection_t *connection, ...) attribute_hidden; -+extern bool rpc_method_in_invoke(rpc_connection_t *connection) attribute_hidden; - - #ifdef __cplusplus - } Property changes on: head/www/nspluginwrapper-devel/files/patch-racecond ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-src-npw-wrapper.c =================================================================== --- head/www/nspluginwrapper-devel/files/patch-src-npw-wrapper.c (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-src-npw-wrapper.c (nonexistent) @@ -1,10 +0,0 @@ ---- ./src/npw-wrapper.c.orig Sun Mar 4 23:01:22 2007 -+++ ./src/npw-wrapper.c Wed Apr 4 20:20:59 2007 -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - - #include Property changes on: head/www/nspluginwrapper-devel/files/patch-src-npw-wrapper.c ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-src-npw-common.h =================================================================== --- head/www/nspluginwrapper-devel/files/patch-src-npw-common.h (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-src-npw-common.h (nonexistent) @@ -1,11 +0,0 @@ ---- src/npw-common.h.orig 2009-01-02 15:22:29.000000000 +0100 -+++ src/npw-common.h 2009-11-10 09:58:34.000000000 +0100 -@@ -115,7 +115,7 @@ npw_plugin_instance_is_valid(void *ptr) - static inline NPW_PluginInstance * - _npw_get_plugin_instance (NPP instance) - { -- return (NPW_PluginInstance *)instance->_NPW_INSTANCE_PRIVATE_DATA; -+ return instance ? (NPW_PluginInstance *)instance->_NPW_INSTANCE_PRIVATE_DATA : NULL; - } - - static inline NPW_PluginInstance * Property changes on: head/www/nspluginwrapper-devel/files/patch-src-npw-common.h ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-fix-npident-array-sending =================================================================== --- head/www/nspluginwrapper-devel/files/patch-fix-npident-array-sending (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-fix-npident-array-sending (nonexistent) @@ -1,178 +0,0 @@ -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 Property changes on: head/www/nspluginwrapper-devel/files/patch-fix-npident-array-sending ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-ignore-flash-button3 =================================================================== --- head/www/nspluginwrapper-devel/files/patch-ignore-flash-button3 (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-ignore-flash-button3 (nonexistent) @@ -1,55 +0,0 @@ ---- src/npw-wrapper.c.orig 2009-01-02 09:22:29.000000000 -0500 -+++ src/npw-wrapper.c 2011-03-31 12:34:33.000000000 -0400 -@@ -2560,6 +2561,35 @@ - return ret; - } - -+#define NPW_ADOBE_FLASH_PLUGIN "Shockwave Flash" -+ -+struct flash_version { -+ unsigned int major; -+ unsigned int minor; -+}; -+ -+// Detect Adobe Flash plugin version -+static void adobe_flash_version(struct flash_version *vers) -+{ -+ static struct flash_version fv = { 0, 0 }; -+ static bool tested = false; -+ -+ if (!tested) { -+ if (g_plugin.name != NULL && g_plugin.description != NULL && -+ strcmp(g_plugin.name, NPW_ADOBE_FLASH_PLUGIN) == 0 && -+ strncmp(g_plugin.description, NPW_ADOBE_FLASH_PLUGIN, -+ strlen(NPW_ADOBE_FLASH_PLUGIN)) == 0) { -+ char *ptr, *endp; -+ ptr = g_plugin.description + strlen(NPW_ADOBE_FLASH_PLUGIN); -+ fv.major = strtol(ptr, &endp, 10); -+ if (*endp == '.') -+ fv.minor = strtol(endp + 1, NULL, 10); -+ } -+ tested = true; -+ } -+ *vers = fv; -+} -+ - static int16 g_NPP_HandleEvent(NPP instance, void *event) - { - if (instance == NULL) -@@ -2569,6 +2599,16 @@ - if (plugin == NULL) - return NPERR_INVALID_INSTANCE_ERROR; - -+ if (((NPEvent *)event)->type == ButtonPress && ((XButtonEvent *)event)->button == Button3) { -+ static struct flash_version vers; -+ adobe_flash_version(&vers); -+ /* XXX: work around "right click" hang with Flash plugin 10.1 and later */ -+ if ((vers.major == 10 && vers.minor >= 1) || vers.major > 10) { -+ D(bug("NPP_HandleEvent instance=%p, ignoring ButtonPress event for " -+ NPW_ADOBE_FLASH_PLUGIN " %u.%u\n", instance, vers.major, vers.minor)); -+ return false; -+ } -+ } - if (((NPEvent *)event)->type == GraphicsExpose) { - /* XXX: flush the X output buffer so that the call to - gdk_pixmap_foreign_new() in the viewer can work */ Property changes on: head/www/nspluginwrapper-devel/files/patch-ignore-flash-button3 ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-src-rpc.c =================================================================== --- head/www/nspluginwrapper-devel/files/patch-src-rpc.c (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-src-rpc.c (nonexistent) @@ -1,11 +0,0 @@ ---- src/rpc.c.orig 2009-01-02 15:22:29.000000000 +0100 -+++ src/rpc.c 2010-06-29 14:24:39.000000000 +0200 -@@ -68,7 +68,7 @@ - - // Define the maximum amount of time (in seconds) to wait for a message - #ifndef RPC_MESSAGE_TIMEOUT --#define RPC_MESSAGE_TIMEOUT 30 -+#define RPC_MESSAGE_TIMEOUT 10 - #endif - - // Define the maximum amount of time (in seconds) to wait for plugin connection Property changes on: head/www/nspluginwrapper-devel/files/patch-src-rpc.c ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-NPNVprivateModeBool =================================================================== --- head/www/nspluginwrapper-devel/files/patch-NPNVprivateModeBool (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-NPNVprivateModeBool (nonexistent) @@ -1,43 +0,0 @@ ---- npapi/npapi.h 2009-01-02 09:22:28.000000000 -0500 -+++ npapi/npapi.h 2010-08-18 19:07:09.000000000 -0400 -@@ -439,7 +439,9 @@ typedef enum { - /* Get the NPObject wrapper for the plugins DOM element. */ - NPNVPluginElementNPObject = 16, - -- NPNVSupportsWindowless = 17 -+ NPNVSupportsWindowless = 17, -+ -+ NPNVprivateModeBool = 18 - - } NPNVariable; - ---- src/npw-rpc.c 2010-08-18 19:10:19.000000000 -0400 -+++ src/npw-rpc.c 2010-08-18 19:08:24.000000000 -0400 -@@ -41,6 +41,7 @@ int rpc_type_of_NPNVariable(int variable - case NPNVisOfflineBool: - case NPNVSupportsXEmbedBool: - case NPNVSupportsWindowless: -+ case NPNVprivateModeBool: - type = RPC_TYPE_BOOLEAN; - break; - case NPNVToolkit: ---- src/npw-viewer.c 2010-08-18 19:10:19.000000000 -0400 -+++ src/npw-viewer.c 2010-08-18 19:05:46.000000000 -0400 -@@ -1266,6 +1266,7 @@ g_NPN_GetValue(NPP instance, NPNVariable - case NPNVSupportsXEmbedBool: - case NPNVWindowNPObject: - case NPNVPluginElementNPObject: -+ case NPNVprivateModeBool: - return g_NPN_GetValue_real(instance, variable, value); - default: - switch (variable & 0xff) { ---- src/utils.c 2009-01-02 09:22:29.000000000 -0500 -+++ src/utils.c 2010-08-18 19:09:31.000000000 -0400 -@@ -283,6 +283,7 @@ const char *string_of_NPNVariable(int va - _(NPNVWindowNPObject); - _(NPNVPluginElementNPObject); - _(NPNVSupportsWindowless); -+ _(NPNVprivateModeBool); - #undef _ - default: - switch (variable & 0xff) { Property changes on: head/www/nspluginwrapper-devel/files/patch-NPNVprivateModeBool ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/www/nspluginwrapper-devel/files/patch-src-npw-config.c =================================================================== --- head/www/nspluginwrapper-devel/files/patch-src-npw-config.c (revision 273223) +++ head/www/nspluginwrapper-devel/files/patch-src-npw-config.c (revision 273224) @@ -1,13 +1,33 @@ ---- ./src/npw-config.c.orig Sun Mar 4 23:01:22 2007 -+++ ./src/npw-config.c Wed Apr 4 20:20:59 2007 -@@ -119,8 +119,8 @@ +--- src/npw-config.c.orig 2011-04-23 14:47:21.000000000 -0400 ++++ src/npw-config.c 2011-04-25 17:46:44.000000000 -0400 +@@ -186,8 +186,9 @@ #if defined(__FreeBSD__) { static const char *freebsd_dirs[] = { - "/usr/X11R6/" LIB "/browser_plugins", - "/usr/X11R6/" LIB "/firefox/plugins", -+ "/usr/local/" LIB "/browser_plugins", -+ "/usr/local/" LIB "/firefox/plugins", ++ "%%LOCALBASE%%/" LIB "/browser_plugins", ++ "%%LOCALBASE%%/" LIB "/firefox/plugins", ++ "%%LOCALBASE%%/" LIB "/seamonkey/plugins", }; dirs = freebsd_dirs; } +@@ -283,11 +284,13 @@ + "/usr/lib32/nsbrowser/plugins", // XXX how unfortunate + "/usr/lib64/nsbrowser/plugins", + #if defined(__FreeBSD__) +- "/usr/X11R6/lib/browser_plugins", +- "/usr/X11R6/lib/firefox/plugins", +- "/usr/X11R6/lib/linux-mozilla/plugins", +- "/usr/local/lib/npapi/linux-flashplugin", +- "/usr/X11R6/Adobe/Acrobat7.0/ENU/Browser/intellinux", ++ "%%LOCALBASE%%/lib/browser_plugins", ++ "%%LOCALBASE%%/lib/firefox/plugins", ++ "%%LOCALBASE%%/lib/seamonkey/plugins", ++ "%%LOCALBASE%%/lib/npapi/linux-flashplugin", ++ "%%LOCALBASE%%/lib/npapi/linux-f10-flashplugin", ++ "%%LOCALBASE%%/Adobe/Acrobat7.0/ENU/Browser/intellinux", ++ "%%LOCALBASE%%/Adobe/Reader8/ENU/Adobe/Reader8/Browser/intellinux", + #endif + #if defined(__DragonFly__) + "/usr/pkg/lib/netscape/plugins", Property changes on: head/www/nspluginwrapper-devel/files/patch-src-npw-config.c ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/www/nspluginwrapper-devel/pkg-descr =================================================================== --- head/www/nspluginwrapper-devel/pkg-descr (revision 273223) +++ head/www/nspluginwrapper-devel/pkg-descr (revision 273224) @@ -1,6 +1,6 @@ The nspluginwrapper is an Open Source compatibility plugin for Netscape 4 (NPAPI) plugins. That is, it enables you to use plugins on platforms they were not built for. For example, you can use the Adobe Flash plugin on Linux/x86_64, NetBSD and FreeBSD platforms. -WWW: http://gwenole.beauchesne.info/projects/nspluginwrapper/ +WWW: https://github.com/davidben/nspluginwrapper Property changes on: head/www/nspluginwrapper-devel/pkg-descr ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.1 \ No newline at end of property +1.2 \ No newline at end of property Index: head/www/nspluginwrapper-devel/pkg-plist =================================================================== --- head/www/nspluginwrapper-devel/pkg-plist (revision 273223) +++ head/www/nspluginwrapper-devel/pkg-plist (revision 273224) @@ -1,16 +1,15 @@ bin/nspluginplayer bin/nspluginwrapper %%LIBDIR%%/%%HOST_ARCH%%/freebsd/npconfig %%LIBDIR%%/%%HOST_ARCH%%/freebsd/npplayer %%LIBDIR%%/%%HOST_ARCH%%/freebsd/npwrapper.so %%LIBDIR%%/i386/linux/libnoxshm.so -%%LIBDIR%%/i386/linux/libxpcom.so %%LIBDIR%%/i386/linux/npviewer %%LIBDIR%%/i386/linux/npviewer.bin %%LIBDIR%%/noarch/npviewer.sh @dirrm %%LIBDIR%%/noarch @dirrm %%LIBDIR%%/i386/linux @dirrm %%LIBDIR%%/%%HOST_ARCH%%/freebsd @dirrm %%LIBDIR%%/i386 @dirrmtry %%LIBDIR%%/%%HOST_ARCH%% @dirrm %%LIBDIR%% Property changes on: head/www/nspluginwrapper-devel/pkg-plist ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.3 \ No newline at end of property +1.4 \ No newline at end of property