diff --git a/mozilla/xpcom/ds/nsVariant.cpp b/mozilla/xpcom/ds/nsVariant.cpp index 3bb9d984311..38df847db89 100644 --- a/mozilla/xpcom/ds/nsVariant.cpp +++ b/mozilla/xpcom/ds/nsVariant.cpp @@ -2011,9 +2011,10 @@ NS_IMETHODIMP nsVariant::SetAsDOMString(const nsAString & aValue) { if(!mWritable) return NS_ERROR_OBJECT_IS_IMMUTABLE; - // A DOMString maps to an AString internally, so we can re-use - // SetFromAString here. - return nsVariant::SetFromAString(&mData, aValue); + DATA_SETTER_PROLOGUE((&mData)); + if(!(mData.u.mAStringValue = new nsString(aValue))) + return NS_ERROR_OUT_OF_MEMORY; + DATA_SETTER_EPILOGUE((&mData), VTYPE_DOMSTRING); } /* void setAsACString (in ACString aValue); */