diff --git a/dri3/dri3.c b/dri3/dri3.c index 2675b44ff..5ec531fa7 100644 --- a/dri3/dri3.c +++ b/dri3/dri3.c @@ -29,15 +29,11 @@ DevPrivateKeyRec dri3_screen_private_key; static int dri3_screen_generation; -static Bool -dri3_close_screen(ScreenPtr screen) +static void dri3_screen_close(ScreenPtr screen, void *arg) { dri3_screen_priv_ptr screen_priv = dri3_screen_priv(screen); - - unwrap(screen_priv, screen, CloseScreen); - + dixScreenUnhookClose(screen, dri3_screen_close, NULL); free(screen_priv); - return (*screen->CloseScreen) (screen); } Bool @@ -53,7 +49,7 @@ dri3_screen_init(ScreenPtr screen, const dri3_screen_info_rec *info) if (!screen_priv) return FALSE; - wrap(screen_priv, screen, CloseScreen, dri3_close_screen); + dixScreenHookClose(screen, dri3_screen_close, NULL); screen_priv->info = info; diff --git a/dri3/dri3_priv.h b/dri3/dri3_priv.h index 3486a309d..b59fc640e 100644 --- a/dri3/dri3_priv.h +++ b/dri3/dri3_priv.h @@ -42,7 +42,6 @@ typedef struct dri3_dmabuf_format { } dri3_dmabuf_format_rec, *dri3_dmabuf_format_ptr; typedef struct dri3_screen_priv { - CloseScreenProcPtr CloseScreen; ConfigNotifyProcPtr ConfigNotify; Bool formats_cached;