Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94e6b662 authored by Andreas Huber's avatar Andreas Huber
Browse files

Don't assert on unexpected surface flinger dequeue/enqueueBuffer errors, log a...

Don't assert on unexpected surface flinger dequeue/enqueueBuffer errors, log a warning and ignore them instead.

Change-Id: Ia45887df82d66f393520e5a4308f430010402d5e
related-to-bug: 2976248
parent 582deec1
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -106,7 +106,12 @@ static inline size_t ALIGN(size_t x, size_t alignment) {
void SoftwareRenderer::render(
        const void *data, size_t size, void *platformPrivate) {
    android_native_buffer_t *buf;
    CHECK_EQ(0, mSurface->dequeueBuffer(mSurface.get(), &buf));
    int err;
    if ((err = mSurface->dequeueBuffer(mSurface.get(), &buf)) != 0) {
        LOGW("Surface::dequeueBuffer returned error %d", err);
        return;
    }

    CHECK_EQ(0, mSurface->lockBuffer(mSurface.get(), buf));

    GraphicBufferMapper &mapper = GraphicBufferMapper::get();
@@ -186,7 +191,9 @@ void SoftwareRenderer::render(

    CHECK_EQ(0, mapper.unlock(buf->handle));

    CHECK_EQ(0, mSurface->queueBuffer(mSurface.get(), buf));
    if ((err = mSurface->queueBuffer(mSurface.get(), buf)) != 0) {
        LOGW("Surface::queueBuffer returned error %d", err);
    }
    buf = NULL;
}