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

Commit bbd4f232 authored by Amith Dsouza's avatar Amith Dsouza Committed by Android (Google) Code Review
Browse files

Merge "Revert "Revert "Modify EGL to disconnect the window when the surface...

Merge "Revert "Revert "Modify EGL to disconnect the window when the surface gets destroyed.""" into mnc-dev
parents 8719e3b6 4f21a4cc
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -922,8 +922,8 @@ status_t BufferQueueProducer::disconnect(int api) {
                    mCore->mSidebandStream.clear();
                    mCore->mDequeueCondition.broadcast();
                    listener = mCore->mConsumerListener;
                } else {
                    BQ_LOGE("disconnect(P): connected to another API "
                } else if (mCore->mConnectedApi != BufferQueueCore::NO_CONNECTED_API) {
                    BQ_LOGE("disconnect(P): still connected to another API "
                            "(cur=%d req=%d)", mCore->mConnectedApi, api);
                    status = BAD_VALUE;
                }
+9 −0
Original line number Diff line number Diff line
@@ -562,6 +562,15 @@ EGLBoolean eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
        return setError(EGL_BAD_SURFACE, EGL_FALSE);

    egl_surface_t * const s = get_surface(surface);
    ANativeWindow* window = s->win.get();
    if (window) {
        int result = native_window_api_disconnect(window, NATIVE_WINDOW_API_EGL);
        if (result != OK) {
            ALOGE("eglDestroySurface: native_window_api_disconnect (win=%p) "
                  "failed (%#x)",
                  window, result);
        }
    }
    EGLBoolean result = s->cnx->egl.eglDestroySurface(dp->disp.dpy, s->surface);
    if (result == EGL_TRUE) {
        _s.terminate();