gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash/plugin/mozilla-sdk np_entry.cpp


From: Dossy Shiobara
Subject: [Gnash-commit] gnash/plugin/mozilla-sdk np_entry.cpp
Date: Sat, 15 Mar 2008 23:05:07 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Dossy Shiobara <dossy>  08/03/15 23:05:07

Modified files:
        plugin/mozilla-sdk: np_entry.cpp 

Log message:
        On Firefox 2.0.0.12/WinXP, aNPNFuncs->size is 172 while
        sizeof(NPNetscapeFuncs) is 184.  However, npgnash.dll
        continues to work fine even though NPNFuncs isn't populated
        (!), and as a matter of fact, Firefox seems to ignore the
        NPERR_INVALID_FUNCTABLE_ERROR return from NP_Initialize and
        continues to load and execute npgnash.dll, anyway.
        Therefore, we should continue and execute
        NS_PluginInitialize anyway, too.
        
        c.f. https://savannah.gnu.org/bugs/?20835

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/plugin/mozilla-sdk/np_entry.cpp?cvsroot=gnash&r1=1.9&r2=1.10

Patches:
Index: np_entry.cpp
===================================================================
RCS file: /sources/gnash/gnash/plugin/mozilla-sdk/np_entry.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- np_entry.cpp        21 Jan 2008 23:28:02 -0000      1.9
+++ np_entry.cpp        15 Mar 2008 23:05:07 -0000      1.10
@@ -137,11 +137,24 @@
 
 DSOEXPORT NPError OSCALL NP_Initialize(NPNetscapeFuncs* aNPNFuncs)
 {
+  /*
+   * N.B.  On Firefox 2.0.0.12/WinXP, aNPNFuncs->size is 172 while
+   * sizeof(NPNetscapeFuncs) is 184.  However, npgnash.dll continues to
+   * work fine even though NPNFuncs isn't populated (!), and as a matter
+   * of fact, Firefox seems to ignore the NPERR_INVALID_FUNCTABLE_ERROR
+   * return from NP_Initialize and continues to load and execute
+   * npgnash.dll, anyway.  Therefore, we should continue and execute
+   * NS_PluginInitialize anyway, too.
+   */
+
   NPError rv = fillNetscapeFunctionTable(aNPNFuncs);
+#if 0
   if(rv != NPERR_NO_ERROR)
     return rv;
+#endif
+  NPError rv2 = NS_PluginInitialize();
 
-  return NS_PluginInitialize();
+  return rv2 != NPERR_NO_ERROR ? rv2 : rv;
 }
 
 DSOEXPORT NPError OSCALL NP_GetEntryPoints(NPPluginFuncs* aNPPFuncs)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]