Fixed QI bug that could cause the input stream to be closed too early.
git-svn-id: svn://10.0.0.236/trunk@44586 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
bc376f1eea
commit
011397fd0d
@ -193,15 +193,17 @@ nsPipe::QueryInterface(const nsIID& aIID, void** aInstancePtr)
|
||||
if (aIID.Equals(nsIBufferInputStream::GetIID()) ||
|
||||
aIID.Equals(nsIInputStream::GetIID()) ||
|
||||
aIID.Equals(nsIBaseStream::GetIID())) {
|
||||
*aInstancePtr = GetInputStream();
|
||||
NS_ADDREF_THIS();
|
||||
nsIBufferInputStream* in = GetInputStream();
|
||||
NS_ADDREF(in);
|
||||
*aInstancePtr = in;
|
||||
return NS_OK;
|
||||
}
|
||||
if (aIID.Equals(nsIBufferOutputStream::GetIID()) ||
|
||||
aIID.Equals(nsIOutputStream::GetIID()) ||
|
||||
aIID.Equals(nsIBaseStream::GetIID())) {
|
||||
*aInstancePtr = GetOutputStream();
|
||||
NS_ADDREF_THIS();
|
||||
nsIBufferOutputStream* out = GetOutputStream();
|
||||
NS_ADDREF(out);
|
||||
*aInstancePtr = out;
|
||||
return NS_OK;
|
||||
}
|
||||
if (aIID.Equals(nsIPipe::GetIID()) ||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user