diff options
author | Emil Velikov <emil.velikov@collabora.com> | 2019-07-19 15:57:52 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2019-10-11 12:03:42 +0000 |
commit | 15354fb68f09eecceec5747a58cd16e6ce9236ca (patch) | |
tree | 4f87d6787e74bfec670484f5555404303dd4201c /glamor | |
parent | 89597eeba6e7a3418caa375f19f8dd303219881c (diff) |
glamor_egl: override the CloseScreen/DestroyPixmap earlier
Currently we wrap the EGL CloseScreen/DestroyPixmap callbacks after the
glamor ones. Thus upon teardown, we'll end calling things in the wrong
order.
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Diffstat (limited to 'glamor')
-rw-r--r-- | glamor/glamor_egl.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c index 1661c3549..1ad16f733 100644 --- a/glamor/glamor_egl.c +++ b/glamor/glamor_egl.c @@ -850,12 +850,6 @@ glamor_egl_screen_init(ScreenPtr screen, struct glamor_context *glamor_ctx) glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); #endif - glamor_egl->saved_close_screen = screen->CloseScreen; - screen->CloseScreen = glamor_egl_close_screen; - - glamor_egl->saved_destroy_pixmap = screen->DestroyPixmap; - screen->DestroyPixmap = glamor_egl_destroy_pixmap; - glamor_ctx->ctx = glamor_egl->context; glamor_ctx->display = glamor_egl->display; @@ -910,6 +904,12 @@ glamor_egl_init(ScreenPtr screen, int fd) dixSetPrivate(&screen->devPrivates, &glamor_egl_screen_private_key, glamor_egl); + glamor_egl->saved_close_screen = screen->CloseScreen; + screen->CloseScreen = glamor_egl_close_screen; + + glamor_egl->saved_destroy_pixmap = screen->DestroyPixmap; + screen->DestroyPixmap = glamor_egl_destroy_pixmap; + glamor_egl->fd = fd; glamor_egl->gbm = gbm_create_device(glamor_egl->fd); if (glamor_egl->gbm == NULL) { |