Fixed a crasher by avoiding an extra release of the minivariant. Also fixed a bug in soap encoding. b=197872, r=rayw@netscape.com, sr=jst@netscape.com
git-svn-id: svn://10.0.0.236/trunk@139952 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
1824213c86
commit
ca619d387e
@ -228,6 +228,10 @@ WSPProxy::CallMethod(PRUint16 methodIndex,
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsAutoString soapAction;
|
||||
operationBinding->GetSoapAction(soapAction);
|
||||
call->SetActionURI(soapAction);
|
||||
|
||||
PRUint16 style;
|
||||
operationBinding->GetStyle(&style);
|
||||
// If the style is RPC, find the method name and target object URI.
|
||||
@ -676,7 +680,9 @@ WSPProxy::XPTCMiniVariantToVariant(uint8 aTypeTag, nsXPTCMiniVariant aResult,
|
||||
return rv;
|
||||
}
|
||||
var->SetAsInterface(NS_GET_IID(nsIPropertyBag), propBag);
|
||||
NS_RELEASE(instance);
|
||||
// AFAICT, there is no need to release the instance here
|
||||
// because the caller who owns the object should be releasing it.
|
||||
// NS_RELEASE(instance);
|
||||
}
|
||||
else {
|
||||
var->SetAsEmpty();
|
||||
|
||||
@ -532,6 +532,14 @@ nsresult
|
||||
*i2 = 's';
|
||||
i2--;
|
||||
*i2 = 'n';
|
||||
|
||||
// Declare the fabricated prefix
|
||||
if (aScope) {
|
||||
tstr.Assign(nsSOAPUtils::kXMLNamespacePrefix);
|
||||
tstr.Append(aPrefix);
|
||||
rc = aScope->SetAttributeNS(nsSOAPUtils::kXMLNamespaceNamespaceURI,
|
||||
tstr, externalURI);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
@ -228,6 +228,10 @@ WSPProxy::CallMethod(PRUint16 methodIndex,
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsAutoString soapAction;
|
||||
operationBinding->GetSoapAction(soapAction);
|
||||
call->SetActionURI(soapAction);
|
||||
|
||||
PRUint16 style;
|
||||
operationBinding->GetStyle(&style);
|
||||
// If the style is RPC, find the method name and target object URI.
|
||||
@ -676,7 +680,9 @@ WSPProxy::XPTCMiniVariantToVariant(uint8 aTypeTag, nsXPTCMiniVariant aResult,
|
||||
return rv;
|
||||
}
|
||||
var->SetAsInterface(NS_GET_IID(nsIPropertyBag), propBag);
|
||||
NS_RELEASE(instance);
|
||||
// AFAICT, there is no need to release the instance here
|
||||
// because the caller who owns the object should be releasing it.
|
||||
// NS_RELEASE(instance);
|
||||
}
|
||||
else {
|
||||
var->SetAsEmpty();
|
||||
|
||||
@ -532,6 +532,14 @@ nsresult
|
||||
*i2 = 's';
|
||||
i2--;
|
||||
*i2 = 'n';
|
||||
|
||||
// Declare the fabricated prefix
|
||||
if (aScope) {
|
||||
tstr.Assign(nsSOAPUtils::kXMLNamespacePrefix);
|
||||
tstr.Append(aPrefix);
|
||||
rc = aScope->SetAttributeNS(nsSOAPUtils::kXMLNamespaceNamespaceURI,
|
||||
tstr, externalURI);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user