From c4175bcb0edd394aa9e183f92a01a2ac6f916cdf Mon Sep 17 00:00:00 2001 From: "waterson%netscape.com" Date: Wed, 6 Oct 1999 06:42:27 +0000 Subject: [PATCH] Fix incorrect use of CBufDescriptor that was causing persistence to flake. git-svn-id: svn://10.0.0.236/trunk@49960 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/xul/document/src/nsXULDocument.cpp | 6 ++++-- mozilla/rdf/content/src/nsXULDocument.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/mozilla/content/xul/document/src/nsXULDocument.cpp b/mozilla/content/xul/document/src/nsXULDocument.cpp index 4ff5bba9736..62cf5340803 100644 --- a/mozilla/content/xul/document/src/nsXULDocument.cpp +++ b/mozilla/content/xul/document/src/nsXULDocument.cpp @@ -4571,10 +4571,13 @@ XULDocumentImpl::ApplyPersistentAttributesToElements(nsIRDFResource* aResource, rv = literal->GetValueConst(&value); if (NS_FAILED(rv)) return rv; + PRInt32 len = nsCRT::strlen(value); + CBufDescriptor wrapper(value, PR_TRUE, len + 1, len); + PRUint32 cnt; rv = aElements->Count(&cnt); if (NS_FAILED(rv)) return rv; - + for (PRInt32 i = PRInt32(cnt) - 1; i >= 0; --i) { nsISupports* isupports2 = aElements->ElementAt(i); if (! isupports2) @@ -4583,7 +4586,6 @@ XULDocumentImpl::ApplyPersistentAttributesToElements(nsIRDFResource* aResource, nsCOMPtr element = do_QueryInterface(isupports2); NS_RELEASE(isupports2); - CBufDescriptor wrapper(value, PR_TRUE, 0, -1); rv = element->SetAttribute(/* XXX */ kNameSpaceID_None, attr, nsAutoString(wrapper), diff --git a/mozilla/rdf/content/src/nsXULDocument.cpp b/mozilla/rdf/content/src/nsXULDocument.cpp index 4ff5bba9736..62cf5340803 100644 --- a/mozilla/rdf/content/src/nsXULDocument.cpp +++ b/mozilla/rdf/content/src/nsXULDocument.cpp @@ -4571,10 +4571,13 @@ XULDocumentImpl::ApplyPersistentAttributesToElements(nsIRDFResource* aResource, rv = literal->GetValueConst(&value); if (NS_FAILED(rv)) return rv; + PRInt32 len = nsCRT::strlen(value); + CBufDescriptor wrapper(value, PR_TRUE, len + 1, len); + PRUint32 cnt; rv = aElements->Count(&cnt); if (NS_FAILED(rv)) return rv; - + for (PRInt32 i = PRInt32(cnt) - 1; i >= 0; --i) { nsISupports* isupports2 = aElements->ElementAt(i); if (! isupports2) @@ -4583,7 +4586,6 @@ XULDocumentImpl::ApplyPersistentAttributesToElements(nsIRDFResource* aResource, nsCOMPtr element = do_QueryInterface(isupports2); NS_RELEASE(isupports2); - CBufDescriptor wrapper(value, PR_TRUE, 0, -1); rv = element->SetAttribute(/* XXX */ kNameSpaceID_None, attr, nsAutoString(wrapper),