mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-15 08:56:26 -05:00
render/egl: allow passing NULL to surface and image destructors
This commit is contained in:
parent
eaed6bd03b
commit
018b82c01e
5 changed files with 14 additions and 19 deletions
14
render/egl.c
14
render/egl.c
|
|
@ -225,9 +225,10 @@ bool wlr_egl_destroy_image(struct wlr_egl *egl, EGLImage image) {
|
|||
if (!eglDestroyImageKHR) {
|
||||
return false;
|
||||
}
|
||||
|
||||
eglDestroyImageKHR(egl->display, image);
|
||||
return true;
|
||||
if (!image) {
|
||||
return true;
|
||||
}
|
||||
return eglDestroyImageKHR(egl->display, image);
|
||||
}
|
||||
|
||||
EGLSurface wlr_egl_create_surface(struct wlr_egl *egl, void *window) {
|
||||
|
|
@ -500,6 +501,9 @@ int wlr_egl_get_dmabuf_modifiers(struct wlr_egl *egl,
|
|||
return num;
|
||||
}
|
||||
|
||||
void wlr_egl_destroy_surface(struct wlr_egl *egl, EGLSurface surface) {
|
||||
eglDestroySurface(egl->display, surface);
|
||||
bool wlr_egl_destroy_surface(struct wlr_egl *egl, EGLSurface surface) {
|
||||
if (!surface) {
|
||||
return true;
|
||||
}
|
||||
return eglDestroySurface(egl->display, surface);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,10 +88,7 @@ static void gles2_texture_destroy(struct wlr_texture *wlr_texture) {
|
|||
if (texture->image_tex) {
|
||||
glDeleteTextures(1, &texture->image_tex);
|
||||
}
|
||||
if (texture->image) {
|
||||
assert(eglDestroyImageKHR);
|
||||
wlr_egl_destroy_image(texture->egl, texture->image);
|
||||
}
|
||||
wlr_egl_destroy_image(texture->egl, texture->image);
|
||||
|
||||
if (texture->type == WLR_GLES2_TEXTURE_GLTEX) {
|
||||
glDeleteTextures(1, &texture->gl_tex);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue