Index: config/autoconf.mk.in =================================================================== RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v retrieving revision 3.348.2.11 diff -u -r3.348.2.11 autoconf.mk.in --- config/autoconf.mk.in 8 Sep 2005 22:23:28 -0000 3.348.2.11 +++ config/autoconf.mk.in 26 Sep 2005 09:25:15 -0000 @@ -137,6 +137,7 @@ MOZ_PROFILELOCKING = @MOZ_PROFILELOCKING@ MOZ_STORAGE = @MOZ_STORAGE@ MOZ_NO_XPCOM_OBSOLETE = @MOZ_NO_XPCOM_OBSOLETE@ +NS_PRINTING = @NS_PRINTING@ MOZ_ENABLE_JAVAXPCOM = @MOZ_ENABLE_JAVAXPCOM@ JAVA_INCLUDE_PATH=@JAVA_INCLUDE_PATH@ Index: js/src/xpconnect/src/xpcprivate.h =================================================================== RCS file: /cvsroot/mozilla/js/src/xpconnect/src/xpcprivate.h,v retrieving revision 1.160.2.4 diff -u -r1.160.2.4 xpcprivate.h --- js/src/xpconnect/src/xpcprivate.h 8 Sep 2005 22:23:28 -0000 1.160.2.4 +++ js/src/xpconnect/src/xpcprivate.h 26 Sep 2005 09:26:08 -0000 @@ -3341,6 +3341,61 @@ DEFINE_AUTO_MARKING_PTR_TYPE(AutoMarkingWrappedNativeProtoPtr, XPCWrappedNativeProto) DEFINE_AUTO_MARKING_PTR_TYPE(AutoMarkingJSVal, XPCMarkableJSVal) +#define DEFINE_AUTO_MARKING_ARRAY_PTR_TYPE(class_, type_) \ +class class_ : public AutoMarkingPtr \ +{ \ +public: \ + class_ (XPCCallContext& ccx) \ + : AutoMarkingPtr(ccx), mPtr(nsnull), mCount(0) {} \ + class_ (XPCCallContext& ccx, type_** aPtr, PRUint32 aCount, \ + PRBool aClear = PR_FALSE) \ + : AutoMarkingPtr(ccx), mPtr(aPtr), mCount(aCount) \ + { \ + if(!mPtr) mCount = 0; \ + else if(aClear) memset(mPtr, 0, mCount*sizeof(type_*)); \ + } \ + virtual ~ class_ () {} \ + \ + virtual void MarkBeforeJSFinalize(JSContext* cx) \ + { \ + for(PRUint32 i = 0; i < mCount; ++i) \ + { \ + type_* cur = mPtr[i]; \ + if(cur) \ + { \ + cur->MarkBeforeJSFinalize(cx); \ + cur->AutoMark(cx); \ + } \ + } \ + if(mNext) mNext->MarkBeforeJSFinalize(cx); \ + } \ + \ + virtual void MarkAfterJSFinalize() \ + { \ + for(PRUint32 i = 0; i < mCount; ++i) \ + { \ + type_* cur = mPtr[i]; \ + if(cur) \ + cur->Mark(); \ + } \ + if(mNext) mNext->MarkAfterJSFinalize(); \ + } \ + \ + type_ ** get() const {return mPtr;} \ + operator type_ **() const {return mPtr;} \ + type_ ** operator->() const {return mPtr;} \ + \ + class_ & operator =(const class_ & inst) \ + {mPtr = inst.mPtr; mCount = inst.mCount; return *this;} \ + \ +protected: \ + type_ ** mPtr; \ + PRUint32 mCount; \ +}; + +DEFINE_AUTO_MARKING_ARRAY_PTR_TYPE(AutoMarkingNativeInterfacePtrArrayPtr, + XPCNativeInterface) + // Note: It looked like I would need one of these AutoMarkingPtr types for // XPCNativeScriptableInfo in order to manage marking its // XPCNativeScriptableShared member during construction. But AFAICT we build Index: zap/sip/SipUAStack.js =================================================================== RCS file: /cvsroot/mozilla/zap/sip/Attic/SipUAStack.js,v retrieving revision 1.1.2.12 diff -u -r1.1.2.12 SipUAStack.js --- zap/sip/SipUAStack.js 9 Sep 2005 09:47:29 -0000 1.1.2.12 +++ zap/sip/SipUAStack.js 26 Sep 2005 09:27:31 -0000 @@ -496,7 +496,7 @@ function getContactAddress() { var user = (this.FromAddress.uri).QueryInterface(Components.interfaces.zapISipSIPURI).userinfo; var host = this.hostAddress; - return gSyntaxFactory.deserializeAddress("sip:"+user+"@"+host); + return gSyntaxFactory.deserializeAddress("sip:"+user+"@"+host+":"+this.listeningPort); }); // create a dialog at UAS end: