8215756: Memory leaks in the AWT on macOS
Reviewed-by: dmarkov
This commit is contained in:
parent
8dd191768b
commit
e391098432
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -142,6 +142,11 @@ static BOOL shouldUsePressAndHold() {
|
||||
fInputMethodLOCKABLE = NULL;
|
||||
}
|
||||
|
||||
if (rolloverTrackingArea != nil) {
|
||||
[self removeTrackingArea:rolloverTrackingArea];
|
||||
[rolloverTrackingArea release];
|
||||
rolloverTrackingArea = nil;
|
||||
}
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
@ -282,7 +287,7 @@ static BOOL shouldUsePressAndHold() {
|
||||
// Allow TSM to look at the event and potentially send back NSTextInputClient messages.
|
||||
[self interpretKeyEvents:[NSArray arrayWithObject:event]];
|
||||
|
||||
if (fEnablePressAndHold && [event willBeHandledByComplexInputMethod] &&
|
||||
if (fEnablePressAndHold && [event willBeHandledByComplexInputMethod] &&
|
||||
fInputMethodLOCKABLE)
|
||||
{
|
||||
fProcessingKeystroke = NO;
|
||||
@ -290,7 +295,7 @@ static BOOL shouldUsePressAndHold() {
|
||||
fInPressAndHold = YES;
|
||||
fPAHNeedsToSelect = YES;
|
||||
} else {
|
||||
// Abandon input to reset IM and unblock input after canceling
|
||||
// Abandon input to reset IM and unblock input after canceling
|
||||
// input accented symbols
|
||||
|
||||
switch([event keyCode]) {
|
||||
|
@ -471,7 +471,7 @@ AWT_ASSERT_APPKIT_THREAD;
|
||||
|
||||
JNIEnv *env = [ThreadUtilities getJNIEnvUncached];
|
||||
[self.javaPlatformWindow setJObject:nil withEnv:env];
|
||||
|
||||
self.javaPlatformWindow = nil;
|
||||
self.nsWindow = nil;
|
||||
self.ownerWindow = nil;
|
||||
[super dealloc];
|
||||
|
@ -184,7 +184,7 @@ JNF_COCOA_ENTER(env);
|
||||
return;
|
||||
}
|
||||
|
||||
[wrapper setJObject:NULL withEnv:env]; // more efficiant to pre-clear
|
||||
[wrapper setJObject:NULL withEnv:env]; // more efficient to pre-clear
|
||||
[wrapper release];
|
||||
|
||||
JNF_COCOA_EXIT(env);
|
||||
|
Loading…
x
Reference in New Issue
Block a user