diff options
Diffstat (limited to 'source/blender/windowmanager/xr/intern/wm_xr_session.c')
-rw-r--r-- | source/blender/windowmanager/xr/intern/wm_xr_session.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_session.c b/source/blender/windowmanager/xr/intern/wm_xr_session.c index 24d697d9444..bad735ee598 100644 --- a/source/blender/windowmanager/xr/intern/wm_xr_session.c +++ b/source/blender/windowmanager/xr/intern/wm_xr_session.c @@ -1317,7 +1317,10 @@ static void wm_xr_session_surface_draw(bContext *C) GHOST_XrSessionDrawViews(wm->xr.runtime->context, &draw_data); - GPU_framebuffer_restore(); + /* There's no active framebuffer if the session was cancelled (exception while drawing views). */ + if (GPU_framebuffer_active_get()) { + GPU_framebuffer_restore(); + } } static void wm_xr_session_do_depsgraph(bContext *C) |