Skip to content
This repository was archived by the owner on Aug 27, 2022. It is now read-only.
/ lanai Public archive

Commit 52c97e5

Browse files
committed
8261547: Minor memory leak reported for Metal Rendering pipeline
Reviewed-by: kcr, aghaisas
1 parent 5c73963 commit 52c97e5

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m

+6-2
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,16 @@
117117
JNI_COCOA_ENTER(env);
118118
NSMutableArray * retArray = [NSMutableArray arrayWithCapacity:3];
119119
[retArray addObject: [NSNumber numberWithInt: (int)displayID]];
120-
[retArray addObject: [NSString stringWithUTF8String: JNU_GetStringPlatformChars(env, shadersLibName, 0)]];
120+
char *str = JNU_GetStringPlatformChars(env, shadersLibName, 0);
121+
[retArray addObject: [NSString stringWithUTF8String: str]];
121122

122123
[ThreadUtilities performOnMainThreadWaiting:YES block:^() {
123124
[MTLGraphicsConfigUtil _tryLoadMetalLibrary: retArray];
124125
}];
125126

126127
NSNumber * num = (NSNumber *)[retArray objectAtIndex: 0];
127128
ret = (jboolean)[num boolValue];
129+
JNU_ReleaseStringPlatformChars(env, shadersLibName, str);
128130
JNI_COCOA_EXIT(env);
129131
return ret;
130132
}
@@ -148,14 +150,16 @@
148150
JNI_COCOA_ENTER(env);
149151
NSMutableArray * retArray = [NSMutableArray arrayWithCapacity:3];
150152
[retArray addObject: [NSNumber numberWithInt: (int)displayID]];
151-
[retArray addObject: [NSString stringWithUTF8String: JNU_GetStringPlatformChars(env, mtlShadersLib, 0)]];
153+
char *str = JNU_GetStringPlatformChars(env, mtlShadersLib, 0);
154+
[retArray addObject: [NSString stringWithUTF8String: str]];
152155

153156
[ThreadUtilities performOnMainThreadWaiting:YES block:^() {
154157
[MTLGraphicsConfigUtil _getMTLConfigInfo: retArray];
155158
}];
156159

157160
NSNumber * num = (NSNumber *)[retArray objectAtIndex: 0];
158161
ret = (jlong)[num longValue];
162+
JNU_ReleaseStringPlatformChars(env, mtlShadersLib, str);
159163
JNI_COCOA_EXIT(env);
160164
return ret;
161165
}

0 commit comments

Comments
 (0)