summaryrefslogtreecommitdiff
path: root/libs/gui/Surface.cpp
diff options
context:
space:
mode:
author Vadim Caen <caen@google.com> 2024-10-29 15:57:24 +0100
committer Vadim Caen <caen@google.com> 2024-11-01 10:47:06 +0000
commitbb561921105876e1be4a82cceb71a475e3fa1adf (patch)
tree5c8156a0f68bdfb9a945bfca82f81965b3781446 /libs/gui/Surface.cpp
parent3013feb2c32687e630d1f6ba71abd1f81ac9fdcb (diff)
Fix condition for waiting next frame
mNextFrameNumber is initiallized to 1. If we want to wait for the first frame to be drawn, one would expect to call mSurface.waitForNextFrame(0 /* lastFrame */), but since mNextFrameNumber is always greater then lastFrame, the method never waits. Test: N/A Bug: 376248818 Bug: 376828703 Flag: EXEMPT bug fix Change-Id: I8804479bad8102a441a95951ac27c1cc0711d7b0
Diffstat (limited to 'libs/gui/Surface.cpp')
-rw-r--r--libs/gui/Surface.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index 66e7ddd915..e41f9bbf43 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -2735,8 +2735,8 @@ status_t Surface::unlockAndPost()
bool Surface::waitForNextFrame(uint64_t lastFrame, nsecs_t timeout) {
Mutex::Autolock lock(mMutex);
- if (mNextFrameNumber > lastFrame) {
- return true;
+ if (mLastFrameNumber > lastFrame) {
+ return true;
}
return mQueueBufferCondition.waitRelative(mMutex, timeout) == OK;
}