From 220b2886904a6eb02d4c5eac9c90d37ee69ff09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BB=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4=D1=80?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B8=D1=87?= Date: Sun, 10 May 2026 09:07:19 +0300 Subject: [PATCH] render/opengl/linux/egl: unwrap R_OGL_Window when extracting EGL surface --- src/render/opengl/linux/egl/render_opengl_linux_egl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/render/opengl/linux/egl/render_opengl_linux_egl.c b/src/render/opengl/linux/egl/render_opengl_linux_egl.c index dc87a62c..16c61038 100644 --- a/src/render/opengl/linux/egl/render_opengl_linux_egl.c +++ b/src/render/opengl/linux/egl/render_opengl_linux_egl.c @@ -189,15 +189,16 @@ r_ogl_os_window_unequip(WM_Window os, R_Handle r) internal void r_ogl_os_select_window(WM_Window os, R_Handle r) { - LNX_WM_Window *w = (LNX_WM_Window *)os.u64[0]; - R_OGL_LNX_Window *w_r = (R_OGL_LNX_Window *)r.u64[0]; + // r is the outer R_OGL_Window* wrapper; the os-layer handle is .os + R_OGL_Window *outer = (R_OGL_Window *)r.u64[0]; + R_OGL_LNX_Window *w_r = (R_OGL_LNX_Window *)outer->os.u64[0]; eglMakeCurrent(r_ogl_lnx_state->display, w_r->surface, w_r->surface, r_ogl_lnx_state->context); } internal void r_ogl_os_window_swap(WM_Window os, R_Handle r) { - LNX_WM_Window *w = (LNX_WM_Window *)os.u64[0]; - R_OGL_LNX_Window *w_r = (R_OGL_LNX_Window *)r.u64[0]; + R_OGL_Window *outer = (R_OGL_Window *)r.u64[0]; + R_OGL_LNX_Window *w_r = (R_OGL_LNX_Window *)outer->os.u64[0]; eglSwapBuffers(r_ogl_lnx_state->display, w_r->surface); }