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

Commit 725ee876 authored by Jamie Gennis's avatar Jamie Gennis Committed by Android (Google) Code Review
Browse files

Merge "EGL: move disconnect to surface dtor"

parents bc37e90c 9f24fd02
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -454,13 +454,6 @@ EGLBoolean eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
    EGLBoolean result = s->cnx->egl.eglDestroySurface(
            dp->disp[s->impl].dpy, s->surface);
    if (result == EGL_TRUE) {
        ANativeWindow* const window = s->win.get();
        if (window != NULL) {
            native_window_set_buffers_format(window, 0);
            if (native_window_api_disconnect(window, NATIVE_WINDOW_API_EGL)) {
                LOGE("EGLNativeWindowType %p disconnected failed", window);
            }
        }
        _s.terminate();
    }
    return result;
+9 −2
Original line number Diff line number Diff line
@@ -125,7 +125,15 @@ void egl_object_t::LocalRef<N,T>::terminate() {

class egl_surface_t: public egl_object_t {
protected:
    ~egl_surface_t() {}
    ~egl_surface_t() {
        ANativeWindow* const window = win.get();
        if (window != NULL) {
            native_window_set_buffers_format(window, 0);
            if (native_window_api_disconnect(window, NATIVE_WINDOW_API_EGL)) {
                LOGE("EGLNativeWindowType %p disconnected failed", window);
            }
        }
    }
public:
    typedef egl_object_t::LocalRef<egl_surface_t, EGLSurface> Ref;

@@ -232,4 +240,3 @@ egl_sync_t* get_sync(EGLSyncKHR sync) {
// ----------------------------------------------------------------------------

#endif // ANDROID_EGL_OBJECT_H