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

Commit 967482f6 authored by Dan Stoza's avatar Dan Stoza Committed by Android Git Automerger
Browse files

am 20f7a6f0: Merge "Modify EGL to disconnect the window when the surface gets destroyed."

* commit '20f7a6f0':
  Modify EGL to disconnect the window when the surface gets destroyed.
parents 07246a92 20f7a6f0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -914,8 +914,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();