fix lost old callback when continuous call requestRenderAndNotify
If continuous call requestRenderAndNotify before trigger old callback, old callback will lose, cause VRI will wait for SV's draw to finish forever not calling finishDraw. Bug: 253536483 Signed-off-by: Bowen Li <libowen1@xiaomi.corp-partner.google.com> Change-Id: I8d28ad2bfc077db6343e04d3f454cd06055f9b52
This commit is contained in:
@@ -1667,7 +1667,15 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback
|
||||
mWantRenderNotification = true;
|
||||
mRequestRender = true;
|
||||
mRenderComplete = false;
|
||||
mFinishDrawingRunnable = finishDrawing;
|
||||
final Runnable oldCallback = mFinishDrawingRunnable;
|
||||
mFinishDrawingRunnable = () -> {
|
||||
if (oldCallback != null) {
|
||||
oldCallback.run();
|
||||
}
|
||||
if (finishDrawing != null) {
|
||||
finishDrawing.run();
|
||||
}
|
||||
};
|
||||
|
||||
sGLThreadManager.notifyAll();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user