mirror of https://github.com/godotengine/godot
Merge pull request #100471 from dsnopek/openxr-xrsim-composition-layer-crash
OpenXR: Fix crash with composition layers in non-dev builds
This commit is contained in:
commit
4364ed6ccd
|
|
@ -85,6 +85,7 @@ OpenXRCompositionLayer::~OpenXRCompositionLayer() {
|
||||||
composition_layer_nodes.erase(this);
|
composition_layer_nodes.erase(this);
|
||||||
|
|
||||||
if (openxr_layer_provider != nullptr) {
|
if (openxr_layer_provider != nullptr) {
|
||||||
|
_clear_composition_layer_provider();
|
||||||
memdelete(openxr_layer_provider);
|
memdelete(openxr_layer_provider);
|
||||||
openxr_layer_provider = nullptr;
|
openxr_layer_provider = nullptr;
|
||||||
}
|
}
|
||||||
|
|
@ -374,16 +375,7 @@ void OpenXRCompositionLayer::_reset_fallback_material() {
|
||||||
|
|
||||||
material->set_flag(StandardMaterial3D::FLAG_DISABLE_DEPTH_TEST, !enable_hole_punch);
|
material->set_flag(StandardMaterial3D::FLAG_DISABLE_DEPTH_TEST, !enable_hole_punch);
|
||||||
material->set_transparency(get_alpha_blend() ? StandardMaterial3D::TRANSPARENCY_ALPHA : StandardMaterial3D::TRANSPARENCY_DISABLED);
|
material->set_transparency(get_alpha_blend() ? StandardMaterial3D::TRANSPARENCY_ALPHA : StandardMaterial3D::TRANSPARENCY_DISABLED);
|
||||||
|
material->set_texture(StandardMaterial3D::TEXTURE_ALBEDO, layer_viewport->get_texture());
|
||||||
Ref<ViewportTexture> texture = material->get_texture(StandardMaterial3D::TEXTURE_ALBEDO);
|
|
||||||
if (texture.is_null()) {
|
|
||||||
texture = layer_viewport->get_texture();
|
|
||||||
}
|
|
||||||
|
|
||||||
Node *loc_scene = texture->get_local_scene();
|
|
||||||
NodePath viewport_path = loc_scene->get_path_to(layer_viewport);
|
|
||||||
texture->set_viewport_path_in_scene(viewport_path);
|
|
||||||
material->set_texture(StandardMaterial3D::TEXTURE_ALBEDO, texture);
|
|
||||||
} else {
|
} else {
|
||||||
fallback->set_surface_override_material(0, Ref<Material>());
|
fallback->set_surface_override_material(0, Ref<Material>());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue