Fixed bug #8227 deref errors in tempDOMTextRange
git-svn-id: svn://10.0.0.236/trunk@39375 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
03bef0a226
commit
a299b8b6da
@ -63,16 +63,20 @@ nsDOMEvent::nsDOMEvent(nsIPresContext* aPresContext, nsEvent* aEvent) {
|
||||
// will hold a ref, the widget representation isn't persistent
|
||||
//
|
||||
nsIDOMTextRange** tempTextRangeList = new nsIDOMTextRange*[((nsTextEvent*)aEvent)->rangeCount];
|
||||
for(PRUint16 i=0;i<((nsTextEvent*)aEvent)->rangeCount;i++) {
|
||||
nsDOMTextRange* tempDOMTextRange = new nsDOMTextRange((((nsTextEvent*)aEvent)->rangeArray[i]).mStartOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mEndOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mRangeType);
|
||||
tempDOMTextRange->AddRef();
|
||||
tempTextRangeList[i] = (nsIDOMTextRange*)tempDOMTextRange;
|
||||
}
|
||||
if (tempTextRangeList!=nsnull) {
|
||||
for(PRUint16 i=0;i<((nsTextEvent*)aEvent)->rangeCount;i++) {
|
||||
nsDOMTextRange* tempDOMTextRange = new nsDOMTextRange((((nsTextEvent*)aEvent)->rangeArray[i]).mStartOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mEndOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mRangeType);
|
||||
if (tempDOMTextRange!=nsnull) {
|
||||
tempDOMTextRange->AddRef();
|
||||
tempTextRangeList[i] = (nsIDOMTextRange*)tempDOMTextRange;
|
||||
}
|
||||
}
|
||||
|
||||
mTextRange = (nsIDOMTextRangeList*) new nsDOMTextRangeList(((nsTextEvent*)aEvent)->rangeCount,tempTextRangeList);
|
||||
mTextRange->AddRef();
|
||||
mTextRange = (nsIDOMTextRangeList*) new nsDOMTextRangeList(((nsTextEvent*)aEvent)->rangeCount,tempTextRangeList);
|
||||
if (mTextRange!=nsnull) mTextRange->AddRef();
|
||||
}
|
||||
}
|
||||
|
||||
NS_INIT_REFCNT();
|
||||
|
||||
@ -63,16 +63,20 @@ nsDOMEvent::nsDOMEvent(nsIPresContext* aPresContext, nsEvent* aEvent) {
|
||||
// will hold a ref, the widget representation isn't persistent
|
||||
//
|
||||
nsIDOMTextRange** tempTextRangeList = new nsIDOMTextRange*[((nsTextEvent*)aEvent)->rangeCount];
|
||||
for(PRUint16 i=0;i<((nsTextEvent*)aEvent)->rangeCount;i++) {
|
||||
nsDOMTextRange* tempDOMTextRange = new nsDOMTextRange((((nsTextEvent*)aEvent)->rangeArray[i]).mStartOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mEndOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mRangeType);
|
||||
tempDOMTextRange->AddRef();
|
||||
tempTextRangeList[i] = (nsIDOMTextRange*)tempDOMTextRange;
|
||||
}
|
||||
if (tempTextRangeList!=nsnull) {
|
||||
for(PRUint16 i=0;i<((nsTextEvent*)aEvent)->rangeCount;i++) {
|
||||
nsDOMTextRange* tempDOMTextRange = new nsDOMTextRange((((nsTextEvent*)aEvent)->rangeArray[i]).mStartOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mEndOffset,
|
||||
(((nsTextEvent*)aEvent)->rangeArray[i]).mRangeType);
|
||||
if (tempDOMTextRange!=nsnull) {
|
||||
tempDOMTextRange->AddRef();
|
||||
tempTextRangeList[i] = (nsIDOMTextRange*)tempDOMTextRange;
|
||||
}
|
||||
}
|
||||
|
||||
mTextRange = (nsIDOMTextRangeList*) new nsDOMTextRangeList(((nsTextEvent*)aEvent)->rangeCount,tempTextRangeList);
|
||||
mTextRange->AddRef();
|
||||
mTextRange = (nsIDOMTextRangeList*) new nsDOMTextRangeList(((nsTextEvent*)aEvent)->rangeCount,tempTextRangeList);
|
||||
if (mTextRange!=nsnull) mTextRange->AddRef();
|
||||
}
|
||||
}
|
||||
|
||||
NS_INIT_REFCNT();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user