diff options
Diffstat (limited to 'gdk/wayland/gdkglcontext-wayland.c')
-rw-r--r-- | gdk/wayland/gdkglcontext-wayland.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gdk/wayland/gdkglcontext-wayland.c b/gdk/wayland/gdkglcontext-wayland.c index 79751cb8fc..edeca4916c 100644 --- a/gdk/wayland/gdkglcontext-wayland.c +++ b/gdk/wayland/gdkglcontext-wayland.c @@ -47,6 +47,7 @@ gdk_wayland_gl_context_realize (GdkGLContext *context, GdkWaylandGLContext *context_wayland = GDK_WAYLAND_GL_CONTEXT (context); GdkDisplay *display = gdk_gl_context_get_display (context); GdkGLContext *share = gdk_gl_context_get_shared_context (context); + GdkGLContext *shared_data_context = gdk_surface_get_shared_data_gl_context (gdk_gl_context_get_surface (context)); GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (display); EGLContext ctx; EGLint context_attribs[N_EGL_ATTRS]; @@ -114,7 +115,8 @@ gdk_wayland_gl_context_realize (GdkGLContext *context, ctx = eglCreateContext (display_wayland->egl_display, context_wayland->egl_config, share != NULL ? GDK_WAYLAND_GL_CONTEXT (share)->egl_context - : EGL_NO_CONTEXT, + : shared_data_context != NULL ? GDK_WAYLAND_GL_CONTEXT (shared_data_context)->egl_context + : EGL_NO_CONTEXT, context_attribs); /* If context creation failed without the legacy bit, let's try again with it */ @@ -136,7 +138,8 @@ gdk_wayland_gl_context_realize (GdkGLContext *context, ctx = eglCreateContext (display_wayland->egl_display, context_wayland->egl_config, share != NULL ? GDK_WAYLAND_GL_CONTEXT (share)->egl_context - : EGL_NO_CONTEXT, + : shared_data_context != NULL ? GDK_WAYLAND_GL_CONTEXT (shared_data_context)->egl_context + : EGL_NO_CONTEXT, context_attribs); } |