diff -up openvrml-0.18.8/src/mozilla-plugin/openvrml.cpp.xul11 openvrml-0.18.8/src/mozilla-plugin/openvrml.cpp
--- openvrml-0.18.8/src/mozilla-plugin/openvrml.cpp.xul11	2012-03-31 23:55:23.800928150 -0400
+++ openvrml-0.18.8/src/mozilla-plugin/openvrml.cpp	2012-03-31 23:55:23.818928000 -0400
@@ -215,7 +215,7 @@ void openvrml_np_browser_host_set_world_
 {
 }
 
-char * NP_GetMIMEDescription()
+const char * NP_GetMIMEDescription()
 {
     return NPP_GetMIMEDescription();
 }
@@ -380,7 +380,7 @@ NPError NP_GetValue(void *, NPPVariable
     return err;
 }
 
-char * NPP_GetMIMEDescription()
+const char * NPP_GetMIMEDescription()
 {
     static const char mimeDescription[] =
         "model/x3d-vrml:x3dv:X3D world;"
diff -up openvrml-0.18.8/src/script/javascript.cpp.xul11 openvrml-0.18.8/src/script/javascript.cpp
--- openvrml-0.18.8/src/script/javascript.cpp.xul11	2012-03-31 23:55:23.803928125 -0400
+++ openvrml-0.18.8/src/script/javascript.cpp	2012-03-31 23:59:39.028796984 -0400
@@ -37,7 +37,6 @@
 # endif
 
 namespace {
-
 # if OPENVRML_JSPROPERTYOP_USES_JSID
     typedef jsid jspropertyop_id;
 # else
@@ -53,7 +52,7 @@ namespace {
 # endif
     }
 
-    ::int32 jspropertyop_id_to_int(const jspropertyop_id id)
+    int32_t jspropertyop_id_to_int(const jspropertyop_id id)
     {
 # if OPENVRML_JSPROPERTYOP_USES_JSID
         return JSID_TO_INT(id);
@@ -453,7 +452,7 @@ namespace {
     private:
         static OPENVRML_DECLARE_JSNATIVE(construct);
         static JSBool initObject(JSContext * cx, JSObject * obj,
-                                 uint32 x, uint32 y, uint32 comp,
+                                 uint32_t x, uint32_t y, uint32_t comp,
                                  JSObject * pixels_obj)
             OPENVRML_NOTHROW;
         static JSBool getProperty(JSContext * cx, JSObject * obj,
@@ -1553,7 +1552,7 @@ namespace {
     {
         using std::find_if;
 
-        JSString * const str = JS_ValueToString(cx, id);
+        JSString * const str = JSID_TO_STRING(id);
         if (!str) { return JS_FALSE; }
         const char * const eventId = JS_EncodeString(cx, str);
 
@@ -1604,7 +1603,7 @@ namespace {
     {
         using std::find_if;
 
-        JSString * const str = JS_ValueToString(cx, id);
+        JSString * const str = JSID_TO_STRING(id);
         if (!str) { return JS_FALSE; }
         const char * const fieldId = JS_EncodeString(cx, str);
 
@@ -1945,7 +1944,7 @@ namespace {
 
         case field_value::sfint32_id:
         {
-            ::int32 i;
+            int32_t i;
             if (!JS_ValueToECMAInt32(cx, v, &i)) {
                 throw bad_conversion("Numeric value expected.");
             }
@@ -2944,7 +2943,7 @@ namespace {
 
     OPENVRML_DEFINE_MEMBER_JSNATIVE(SFImage, construct)
     {
-        uint32 x = 0, y = 0, comp = 0;
+        uint32_t x = 0, y = 0, comp = 0;
         JSObject * pixels = 0;
         if (!JS_ConvertArguments(cx, argc, OPENVRML_JS_ARGV(cx, vp), "uuuo",
                                  &x, &y, &comp, &pixels)) {
@@ -2981,9 +2980,9 @@ namespace {
 //
     JSBool SFImage::initObject(JSContext * const cx,
                                JSObject * const obj,
-                               const uint32 x,
-                               const uint32 y,
-                               const uint32 comp,
+                               const uint32_t x,
+                               const uint32_t y,
+                               const uint32_t comp,
                                JSObject * const pixels_obj)
         OPENVRML_NOTHROW
     {
@@ -3009,7 +3008,7 @@ namespace {
                     assert(JSVAL_IS_INT(mfdata->array[i]));
                     static const long byteMask[] =
                         { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 };
-                    ::int32 pixel;
+                    int32_t pixel;
                     if (!JS_ValueToInt32(cx, mfdata->array[i], &pixel)) {
                         return JS_FALSE;
                     }
@@ -3281,7 +3280,7 @@ namespace {
                                jsval * const vp)
         OPENVRML_NOTHROW
     {
-        if (!JSVAL_IS_STRING(id)) { return JS_TRUE; }
+        if (!JSID_IS_STRING(id)) { return JS_TRUE; }
 
         assert(JS_GetPrivate(cx, obj));
         const sfield::sfdata & sfdata =
@@ -3296,7 +3295,7 @@ namespace {
         script & s = *static_cast<script *>(JS_GetContextPrivate(cx));
 
         try {
-            const char * eventOut = JS_EncodeString(cx, JSVAL_TO_STRING(id));
+            const char * eventOut = JS_EncodeString(cx, JSID_TO_STRING(id));
             openvrml::event_emitter & emitter =
                 thisNode.value()->event_emitter(eventOut);
             *vp = s.vrmlFieldToJSVal(emitter.value());
@@ -3309,7 +3308,7 @@ namespace {
 
     OPENVRML_DEFINE_MEMBER_JSSTRICTPROPERTYOP(SFNode, setProperty)
     {
-        if (JSVAL_IS_STRING(id)) {
+        if (JSID_IS_STRING(id)) {
             using std::auto_ptr;
             using std::string;
 
@@ -3325,7 +3324,7 @@ namespace {
             boost::intrusive_ptr<openvrml::node> nodePtr = thisNode.value();
 
             const char * const eventInId =
-                JS_EncodeString(cx, JSVAL_TO_STRING(id));
+                JS_EncodeString(cx, JSID_TO_STRING(id));
 
             try {
                 using boost::shared_ptr;
@@ -5366,7 +5365,7 @@ namespace {
         MFData * const mfdata = static_cast<MFData *>(JS_GetPrivate(cx, obj));
         assert(mfdata);
 
-        uint32 new_length;
+        uint32_t new_length;
         if (!JS_ValueToECMAUint32(cx, *vp, &new_length)) { return JS_FALSE; }
 
         if (new_length == mfdata->array.size()) {
@@ -5584,7 +5583,7 @@ namespace {
         MFData * const mfdata = static_cast<MFData *>(JS_GetPrivate(cx, obj));
         assert(mfdata);
 
-        uint32 new_length;
+        uint32_t new_length;
         if (!JS_ValueToECMAUint32(cx, *vp, &new_length)) { return JS_FALSE; }
 
         if (size_t(JSVAL_TO_INT(*vp)) == mfdata->array.size()) {
@@ -5835,7 +5834,7 @@ namespace {
         MFData * const mfdata = static_cast<MFData *>(JS_GetPrivate(cx, obj));
         assert(mfdata);
 
-        uint32 new_length;
+        uint32_t new_length;
         if (!JS_ValueToECMAUint32(cx, *vp, &new_length)) { return JS_FALSE; }
 
         try {
@@ -6239,7 +6238,7 @@ namespace {
                 // Convert the jsval to an int32 and back to a jsval in order
                 // to remove any decimal part.
                 //
-                ::int32 integer;
+                int32_t integer;
                 if (!JS_ValueToECMAInt32(cx, argv[i], &integer)) {
                     return JS_FALSE;
                 }
@@ -6282,7 +6281,7 @@ namespace {
             // Convert the jsval to an int32 and back to a jsval in order
             // to remove any decimal part.
             //
-            ::int32 i;
+            int32_t i;
             if (!JS_ValueToECMAInt32(cx, *vp, &i)) { return JS_FALSE; }
             if (!JS_NewNumberValue(cx, jsdouble(i), &mfdata->array[index])) {
                 return JS_FALSE;
@@ -6301,7 +6300,7 @@ namespace {
         MFData * const mfdata = static_cast<MFData *>(JS_GetPrivate(cx, obj));
         assert(mfdata);
 
-        uint32 new_length;
+        uint32_t new_length;
         if (!JS_ValueToECMAUint32(cx, *vp, &new_length)) { return JS_FALSE; }
 
         try {
@@ -6557,7 +6556,7 @@ namespace {
         MFData * const mfdata = static_cast<MFData *>(JS_GetPrivate(cx, obj));
         assert(mfdata);
 
-        uint32 new_length;
+        uint32_t new_length;
         if (!JS_ValueToECMAUint32(cx, *vp, &new_length)) { return JS_FALSE; }
 
         try {
@@ -6918,7 +6917,7 @@ namespace {
         MFData * const mfdata = static_cast<MFData *>(JS_GetPrivate(cx, obj));
         assert(mfdata);
 
-        uint32 new_length;
+        uint32_t new_length;
         if (!JS_ValueToECMAUint32(cx, *vp, &new_length)) { return JS_FALSE; }
 
         try {
