1 /*
2 * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
125 return self;
126 }
127
128 - (void) dealloc {
129 AWT_ASSERT_APPKIT_THREAD;
130
131 self.cglLayer = nil;
132
133 JNIEnv *env = [ThreadUtilities getJNIEnvUncached];
134 (*env)->DeleteWeakGlobalRef(env, m_cPlatformView);
135 m_cPlatformView = NULL;
136
137 if (fInputMethodLOCKABLE != NULL)
138 {
139 JNIEnv *env = [ThreadUtilities getJNIEnvUncached];
140
141 JNFDeleteGlobalRef(env, fInputMethodLOCKABLE);
142 fInputMethodLOCKABLE = NULL;
143 }
144
145
146 [super dealloc];
147 }
148
149 - (void) viewDidMoveToWindow {
150 AWT_ASSERT_APPKIT_THREAD;
151
152 [AWTToolkit eventCountPlusPlus];
153
154 [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^() {
155 [[self window] makeFirstResponder: self];
156 }];
157 if ([self window] != NULL) {
158 [self resetTrackingArea];
159 }
160 }
161
162 - (BOOL) acceptsFirstMouse: (NSEvent *)event {
163 return YES;
164 }
|
1 /*
2 * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
125 return self;
126 }
127
128 - (void) dealloc {
129 AWT_ASSERT_APPKIT_THREAD;
130
131 self.cglLayer = nil;
132
133 JNIEnv *env = [ThreadUtilities getJNIEnvUncached];
134 (*env)->DeleteWeakGlobalRef(env, m_cPlatformView);
135 m_cPlatformView = NULL;
136
137 if (fInputMethodLOCKABLE != NULL)
138 {
139 JNIEnv *env = [ThreadUtilities getJNIEnvUncached];
140
141 JNFDeleteGlobalRef(env, fInputMethodLOCKABLE);
142 fInputMethodLOCKABLE = NULL;
143 }
144
145 if (rolloverTrackingArea != nil) {
146 [self removeTrackingArea:rolloverTrackingArea];
147 [rolloverTrackingArea release];
148 rolloverTrackingArea = nil;
149 }
150
151 [super dealloc];
152 }
153
154 - (void) viewDidMoveToWindow {
155 AWT_ASSERT_APPKIT_THREAD;
156
157 [AWTToolkit eventCountPlusPlus];
158
159 [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^() {
160 [[self window] makeFirstResponder: self];
161 }];
162 if ([self window] != NULL) {
163 [self resetTrackingArea];
164 }
165 }
166
167 - (BOOL) acceptsFirstMouse: (NSEvent *)event {
168 return YES;
169 }
|