ANativeWindow_fromSurface: Use acquire not incStrong
When we call incStrong like this, it won't work if the caller of ANativeWindow_fromSurface later calls ANativeWindow_release and so we leak the reference indefinitely. We change to call acquire so that the caller can call release. Bug: 186190571 Test: Existing tests pass Change-Id: I647a856923c891da2d305471f5ff84103d1f9ed5
This commit is contained in:
@@ -30,7 +30,7 @@ using namespace android;
|
||||
ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface) {
|
||||
sp<ANativeWindow> win = android_view_Surface_getNativeWindow(env, surface);
|
||||
if (win != NULL) {
|
||||
win->incStrong((void*)ANativeWindow_fromSurface);
|
||||
ANativeWindow_acquire(win.get());
|
||||
}
|
||||
return win.get();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user