From 7dec85039ee4000dc3518bd03939fff8695bae37 Mon Sep 17 00:00:00 2001 From: Marco Stephan Date: Tue, 11 Aug 2020 21:11:33 +0200 Subject: [PATCH] Fix crash when requesting images --- Unreal/Plugins/AirSim/Source/RenderRequest.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/RenderRequest.cpp b/Unreal/Plugins/AirSim/Source/RenderRequest.cpp index 57f423272d..6e16d04f07 100644 --- a/Unreal/Plugins/AirSim/Source/RenderRequest.cpp +++ b/Unreal/Plugins/AirSim/Source/RenderRequest.cpp @@ -71,7 +71,12 @@ void RenderRequest::getScreenshot(std::shared_ptr params[], std::v // capture CameraPose for this frame query_camera_pose_cb_(); - // The completion is called immeidately after GameThread sends the + game_viewport_->bDisableWorldRendering = saved_DisableWorldRendering_; + + assert(end_draw_handle_.IsValid()); + game_viewport_->OnEndDraw().Remove(end_draw_handle_); + + // The completion is called immediately after GameThread sends the // rendering commands to RenderThread. Hence, our ExecuteTask will // execute *immediately* after RenderThread renders the scene! RenderRequest* This = this; @@ -80,11 +85,6 @@ void RenderRequest::getScreenshot(std::shared_ptr params[], std::v { This->ExecuteTask(); }); - - game_viewport_->bDisableWorldRendering = saved_DisableWorldRendering_; - - assert(end_draw_handle_.IsValid()); - game_viewport_->OnEndDraw().Remove(end_draw_handle_); }); // while we're still on GameThread, enqueue request for capture the scene!