diff options
author | Julian Eisel <julian@blender.org> | 2021-12-14 22:44:17 +0300 |
---|---|---|
committer | Julian Eisel <julian@blender.org> | 2021-12-14 22:44:17 +0300 |
commit | 4cfa21f09b3878141d6de5b3fc5219527fb6dfc3 (patch) | |
tree | e2e32665f34555b6ac2173039c416346ef63d263 /source | |
parent | 7afd84df409ac40bc92faaa74181fa13015fe781 (diff) |
Fix null-pointer dereference on error handling during VR view drawing
Diffstat (limited to 'source')
-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) |