Closed
Bug 360165
Opened 18 years ago
Closed 18 years ago
npunix.c is missing lots of function pointer copying and will break with older browsers
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: wbardwel, Assigned: wbardwel)
Details
Attachments
(1 file, 1 obsolete file)
7.93 KB,
patch
|
jst
:
review+
jst
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060211 Fedora/1.0.7-1.3.fc3.legacy Firefox/1.0.7
Build Identifier:
modules/plugin/samples/default/unix/npunix.c has various dependancies that mean that plugins built with it won't work with older browsers, and it doesn't actually copy most of the function pointers for the new functions added to the Mozilla version of the Netscape API. Basically it is totally unusable.
Reproducible: Always
Steps to Reproduce:
1.Make a plugin using npunix.c
2.
3.
Expected Results:
The function pointer copying code should try to copy all pointers that are actually there, no more, no less.
See also [Bug 359722]
Assignee | ||
Comment 1•18 years ago
|
||
Updated•18 years ago
|
Attachment #245128 -
Flags: review?(jst)
Updated•18 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 2•18 years ago
|
||
Comment 3•18 years ago
|
||
Comment on attachment 245259 [details] [diff] [review]
Revised patch that includes definitions of a bunch of the new NPN_ calls
r+sr=jst
Attachment #245259 -
Flags: superreview+
Attachment #245259 -
Flags: review+
Updated•18 years ago
|
Whiteboard: [checkin needed]
Comment 4•18 years ago
|
||
I take it the first patch is obsoleted by the second? Please mark it as such if so.
Assignee: nobody → wbardwel
Comment 5•18 years ago
|
||
Checked in the second patch:
mozilla/modules/plugin/samples/default/unix/npunix.c 1.12
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed]
Comment 6•18 years ago
|
||
So you didn't compile this apparently:
http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTest/1171738500.1171741196.28976.gz
Building deps for npunix.c
cc -o npunix.o -c -DOSTYPE=\"SunOS5\" -DOSARCH=\"SunOS\" -DBUILD_ID=0000000000 -I../../../../../dist/include/java -I../../../../../dist/include -I../../../../../dist/include/plugin -I../../../../../dist/include/nspr -DMOZ_PNG_READ -DMOZ_PNG_WRITE -I../../../../../dist/sdk/include -KPIC -xlibmil -xstrconst -xbuiltin=%all -mt -DNDEBUG -DTRIMMED -xO4 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DMOZILLA_VERSION=\"1.9a3pre\" -DMOZILLA_VERSION_U=1.9a3pre -DSOLARIS=1 -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_DIRENT_H=1 -DHAVE_SYS_BYTEORDER_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBSOCKET=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_EMBEDDING_LEVEL_DEFAULT=1 -DMOZ_EMBEDDING_LEVEL_BASIC=1 -DMOZ_EMBEDDING_LEVEL_MINIMAL=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_XUL_APP=1 -DMOZ_DEFAULT_TOOLKIT=\"cairo-gtk2\" -DMOZ_WIDGET_GTK2=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_THEBES=1 -DMOZ_CAIRO_GFX=1 -DMOZ_X11=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_ENABLE_XFT=1 -DMOZ_ENABLE_PANGO=1 -DMOZ_ENABLE_COREXFONTS=1 -DMOZ_ENABLE_GNOMEUI=1 -DMOZ_ENABLE_DBUS=1 -DMOZ_EXTRA_X11CONVERTERS=1 -DOJI=1 -DIBMBIDI=1 -DMOZ_VIEW_SOURCE=1 -DACCESSIBILITY=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_NO_XPCOM_OBSOLETE=1 -DMOZ_XTF=1 -DMOZ_MATHML=1 -DMOZ_ENABLE_CANVAS=1 -DMOZ_SVG=1 -DMOZ_SVG_FOREIGNOBJECT=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_PLACES=1 -DMOZ_FEEDS=1 -DMOZ_STORAGE=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_LOGGING=1 -DMOZ_USER_DIR=\".mozilla\" -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_SYS_INT_TYPES_H=1 -DHAVE_UINT64_T=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DMOZ_RDF=1 -DMOZ_MORKREADER=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=12 -DATK_REV_VERSION=3 -DMOZILLA_LOCALE_VERSION=\"1.9a1\" -DMOZILLA_REGION_VERSION=\"1.9a1\" -DMOZILLA_SKIN_VERSION=\"1.8\" -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT npunix.c
"npunix.c", line 263: void function cannot return value
"npunix.c", line 302: void function cannot return value
"npunix.c", line 552: warning: pointer to void or function used in arithmetic
"npunix.c", line 590: warning: pointer to void or function used in arithmetic
"npunix.c", line 640: warning: pointer to void or function used in arithmetic
cc: acomp failed for npunix.c
I checked in the following which will hopefully fix the bustage, but please build with this patch and test if it's correct (I don't know this code to check the correctness):
cvs diff: Diffing .
Index: npunix.c
===================================================================
RCS file: /cvsroot/mozilla/modules/plugin/samples/default/unix/npunix.c,v
retrieving revision 1.12
diff -u -p -r1.12 npunix.c
--- npunix.c 17 Feb 2007 18:33:50 -0000 1.12
+++ npunix.c 17 Feb 2007 21:21:01 -0000
@@ -260,7 +260,7 @@ NPIdentifier NPN_GetStringIdentifier(con
void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount,
NPIdentifier *identifiers)
{
- return CallNPN_GetStringIdentifiersProc(gNetscapeFuncs.getstringidentifiers,
+ CallNPN_GetStringIdentifiersProc(gNetscapeFuncs.getstringidentifiers,
names, nameCount, identifiers);
}
@@ -299,7 +299,7 @@ NPObject *NPN_RetainObject(NPObject *obj
void NPN_ReleaseObject(NPObject *obj)
{
- return CallNPN_ReleaseObjectProc(gNetscapeFuncs.releaseobject, obj);
+ CallNPN_ReleaseObjectProc(gNetscapeFuncs.releaseobject, obj);
}
bool NPN_Invoke(NPP npp, NPObject* obj, NPIdentifier methodName,
Updated•18 years ago
|
Attachment #245128 -
Attachment is obsolete: true
Attachment #245128 -
Flags: review?(jst)
Updated•3 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•