aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sfwk-wpe.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/sfwk-wpe.c b/src/sfwk-wpe.c
index 7d6c5e7..b9c04a4 100644
--- a/src/sfwk-wpe.c
+++ b/src/sfwk-wpe.c
@@ -508,14 +508,18 @@ static bool sfwk_webview_ensure_initialized(SFWKWebView* webview) {
return false;
}
- SDL_GLContext ctx = webview->window->gl_context;
+ SDL_GLContext ctx = saffron_window_get_gl_context(webview->window);
if (!ctx) {
g_debug("sfwk: no gl context in window?? good luck");
return false;
}
+ EGLContext saffron_ctx = (EGLContext)ctx;
+ EGLDisplay saffron_display = (EGLDisplay)saffron_window_get_egl_display(webview->window);
+ EGLConfig saffron_conf = saffron_window_get_egl_config(webview->window);
- saffron_window_detach_gl_context(webview->window);
- if (!SDL_GL_MakeCurrent(webview->window->sdl_window, ctx)) {
+ EGLContext webkit_ctx = eglCreateContext(saffron_display, saffron_conf, saffron_ctx, NULL);
+
+ if (!SDL_GL_MakeCurrent(webview->window->sdl_window, (SDL_GLContext)webkit_ctx)) {
g_debug("SFWK: SDL_GL_MakeCurrent failed: %s", SDL_GetError());
return false;
}