From tschmelcher at google.com Fri Jun 26 23:45:06 2009 From: tschmelcher at google.com (Tristan Schmelcher) Date: Fri, 26 Jun 2009 16:45:06 -0700 Subject: Patch to fix bug where arrays of NPIdentifiers were marshalled incorrectly Message-ID: <5323d74a0906261645r74c7ca0ib31fef6d7955663b@mail.gmail.com> Hello, I'm a developer on Google's open-source O3D plugin project for doing hardware-accelerated 3D rendering in web browsers ( http://code.google.com/apis/o3d/). O3D is 32-bit only due to a dependency on Google's V8 JavaScript JIT engine, so I've been working on compatibility with nspluginwrapper so that we can support 64-bit Linux. Along the way I discovered that one of the issues was a bug in nspluginwrapper's marshalling of arrays of NPIdentifiers. A patch with the fix is attached. Apply with "patch -p0 < FILENAME". The bug exists in versions 1.2.0 and later. The issue is that NPIdentifiers are passed to the do_send_NPIdentifier function by _value_, not by pointer, which is how other parameters are passed to their marshallers. This is fine when calling rpc_method_send_reply, but it results in a bug when marshalling arrays of NPIdentifiers, because the array marshalling code in rpc_message_send_args passes the individual elements by passing a pointer to their position in the array. This resulted in do_send_NPIdentifier interpreting the address of the NPIdentifier as the NPIdentifier itself. As a result, nspluginwrapper's implementation of NPN_GetStringIdentifiers was broken, because the NPIdentifier values that it returned to the plugin were mapped to garbage addresses in the browser. My fix is to change NPIdentifiers to be passed by pointer. With this fix, nspluginwrapper can successfully run O3D plugins built from our SVN trunk at revision 19440 or later. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: nspluginwrapper-20090625-fix-npident-array-sending.patch Type: text/x-diff Size: 5839 bytes Desc: not available URL: From epereira at edigma.com Tue Jun 30 11:23:34 2009 From: epereira at edigma.com (Eduardo Marques) Date: Tue, 30 Jun 2009 12:23:34 +0100 Subject: Mouse interactivity and interactivity at all Message-ID: <4A49F5B6.7060100@edigma.com> Hi all, I'm new here. I already compile the nspluginwrapper and test the nspluginplayer. It seems to work fine except the fact that I can have any kind of interactivity. I load the same swf in browser and using nspluginplayer and I verify that the swf loaded has interactivity that is not working in the nspluginplayer. Why that? Interactivity is not supported yet? I run one of your examples to play a flash game: nspluginplayer src=http://magic.pen.fizzlebot.com/magic-pen.swf width=800 height=520 and its crash in the loading phase .... When I loading any swf the console prints: *** NSPlugin Player *** WARNING: unhandled variable 15 in NPN_GetValue() *** NSPlugin Player *** WARNING: unhandled variable 15 in NPN_GetValue() *** NSPlugin Player *** WARNING: unhandled variable 15 in NPN_GetValue() *** NSPlugin Player *** WARNING: unhandled variable 15 in NPN_GetValue() Thanks in advance for your help. PS: I'm using ubuntu 2.6.28-11-generic.