Bug 428980 leaking NSAutoreleasePool object in insertText r=josh,sr=vlad, a=beltzner

git-svn-id: svn://10.0.0.236/trunk@250290 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
masayuki%d-toybox.com 2008-04-16 04:56:51 +00:00
parent f8c806e253
commit bb1662e03e

View File

@ -4024,17 +4024,14 @@ static PRBool IsNormalCharInputtingEvent(const nsKeyEvent& aEvent)
return;
nsAutoRetainCocoaObject kungFuDeathGrip(self);
id arp = [[NSAutoreleasePool alloc] init];
if (![insertString isKindOfClass:[NSAttributedString class]])
insertString = [[[NSAttributedString alloc] initWithString:insertString] autorelease];
NSString *tmpStr = [insertString string];
unsigned int len = [tmpStr length];
if (!nsTSMManager::IsComposing() && len == 0) {
[arp release];
if (!nsTSMManager::IsComposing() && len == 0)
return; // nothing to do
}
PRUnichar buffer[MAX_BUFFER_SIZE];
PRUnichar *bufPtr = (len >= MAX_BUFFER_SIZE) ? new PRUnichar[len + 1] : buffer;
[tmpStr getCharacters:bufPtr];
@ -4115,8 +4112,6 @@ static PRBool IsNormalCharInputtingEvent(const nsKeyEvent& aEvent)
if (bufPtr != buffer)
delete[] bufPtr;
[arp release];
NS_OBJC_END_TRY_ABORT_BLOCK;
}