diff options
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 727386c859..4931bc1544 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -1879,7 +1879,12 @@ void SurfaceFlinger::onMessageInvalidate(int64_t vsyncId, nsecs_t expectedVSyncT // underestimated. mFrameStartTime = frameStart; } - signalRefresh(); + + // Run the refresh immediately after invalidate as there is no point going thru the message + // queue again, and to ensure that we actually refresh the screen instead of handling + // other messages that were queued us already in the MessageQueue. + mRefreshPending = true; + onMessageRefresh(); } } |