Bug 692342 - Assert !IsArithmetic() rather than IsPointer(). r=mrbkap
authorBobby Holley <bobbyholley@gmail.com>
Fri, 25 Nov 2011 17:09:07 -0800
changeset 80798 89e610a1014c7bd13b00a4ba73ccc07e83f262ca
parent 80797 2c2730b0cbf7750957e63041fb7b5de3a290c3f6
child 80799 911074d770a243111ba38651c19cc2a182715400
push id21530
push userbmo@edmorley.co.uk
push dateSat, 26 Nov 2011 08:27:28 +0000
treeherdermozilla-central@c58bad0b4640 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmrbkap
bugs692342
milestone11.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 692342 - Assert !IsArithmetic() rather than IsPointer(). r=mrbkap JSval is the only different between the two, and we handle that above.
js/xpconnect/src/XPCWrappedNative.cpp
--- a/js/xpconnect/src/XPCWrappedNative.cpp
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
@@ -2850,17 +2850,18 @@ CallMethodHelper::CleanupParam(nsXPTCMin
         case nsXPTType::T_DOMSTRING:
             mCallContext.DeleteString((nsAString*)param.val.p);
             break;
         case nsXPTType::T_UTF8STRING:
         case nsXPTType::T_CSTRING:
             delete (nsCString*) param.val.p;
             break;
         default:
-            NS_ABORT_IF_FALSE(type.IsPointer(), "Cleanup requested on unexpected type.");
+            NS_ABORT_IF_FALSE(!type.IsArithmetic(),
+                              "Cleanup requested on unexpected type.");
             nsMemory::Free(param.val.p);
             break;
     }
 }
 
 // Handle parameters with dipper types.
 //
 // Dipper types are one of the more inscrutable aspects of xpidl. In a