diff --git a/cogl/cogl/cogl-mutter.h b/cogl/cogl/cogl-mutter.h index a1cd7e301..13de039d0 100644 --- a/cogl/cogl/cogl-mutter.h +++ b/cogl/cogl/cogl-mutter.h @@ -43,6 +43,7 @@ #include void cogl_renderer_set_custom_winsys (CoglRenderer *renderer, - CoglCustomWinsysVtableGetter winsys_vtable_getter); + CoglCustomWinsysVtableGetter winsys_vtable_getter, + void *user_data); #endif /* __COGL_MUTTER_H___ */ diff --git a/cogl/cogl/cogl-renderer-private.h b/cogl/cogl/cogl-renderer-private.h index a833a6819..03b0c3014 100644 --- a/cogl/cogl/cogl-renderer-private.h +++ b/cogl/cogl/cogl-renderer-private.h @@ -54,6 +54,7 @@ struct _CoglRenderer const CoglDriverVtable *driver_vtable; const CoglTextureDriver *texture_driver; const CoglWinsysVtable *winsys_vtable; + void *custom_winsys_user_data; CoglCustomWinsysVtableGetter custom_winsys_vtable_getter; CoglWinsysID winsys_id_override; GList *constraints; diff --git a/cogl/cogl/cogl-renderer.c b/cogl/cogl/cogl-renderer.c index 23cd3f81f..0152e877f 100644 --- a/cogl/cogl/cogl-renderer.c +++ b/cogl/cogl/cogl-renderer.c @@ -566,8 +566,10 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer, void cogl_renderer_set_custom_winsys (CoglRenderer *renderer, - CoglCustomWinsysVtableGetter winsys_vtable_getter) + CoglCustomWinsysVtableGetter winsys_vtable_getter, + void *user_data) { + renderer->custom_winsys_user_data = user_data; renderer->custom_winsys_vtable_getter = winsys_vtable_getter; } diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c index 521da033c..d7d2d47a9 100644 --- a/src/backends/native/meta-renderer-native.c +++ b/src/backends/native/meta-renderer-native.c @@ -1693,7 +1693,8 @@ meta_renderer_native_create_cogl_renderer (MetaRenderer *renderer) cogl_renderer = cogl_renderer_new (); cogl_renderer_set_custom_winsys (cogl_renderer, - get_native_cogl_winsys_vtable); + get_native_cogl_winsys_vtable, + NULL); return cogl_renderer; } diff --git a/src/backends/x11/meta-renderer-x11.c b/src/backends/x11/meta-renderer-x11.c index 90924e038..2e2958b09 100644 --- a/src/backends/x11/meta-renderer-x11.c +++ b/src/backends/x11/meta-renderer-x11.c @@ -71,7 +71,8 @@ meta_renderer_x11_create_cogl_renderer (MetaRenderer *renderer) Display *xdisplay = clutter_x11_get_default_display (); cogl_renderer = cogl_renderer_new (); - cogl_renderer_set_custom_winsys (cogl_renderer, get_x11_cogl_winsys_vtable); + cogl_renderer_set_custom_winsys (cogl_renderer, get_x11_cogl_winsys_vtable, + NULL); cogl_xlib_renderer_set_foreign_display (cogl_renderer, xdisplay); /* Set up things so that if the INTEL_swap_event extension is not present,