Skip to content

Commit

Permalink
Merge pull request #85723 from ilyabelow/84609-visual-shader-viewport…
Browse files Browse the repository at this point in the history
…-texture-error

Add a specific error when creating a ViewportTexture in a Texture2D node
  • Loading branch information
YuriSizov committed Dec 8, 2023
2 parents 7798ea7 + 429f24e commit 7fbaefd
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions editor/editor_properties.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
#include "scene/resources/font.h"
#include "scene/resources/mesh.h"
#include "scene/resources/packed_scene.h"
#include "scene/resources/visual_shader_nodes.h"

///////////////////// Nil /////////////////////////

Expand Down Expand Up @@ -3204,6 +3205,13 @@ void EditorPropertyResource::_resource_changed(const Ref<Resource> &p_resource)
Ref<ViewportTexture> vpt = p_resource;
if (vpt.is_valid()) {
r = Object::cast_to<Resource>(get_edited_object());
if (Object::cast_to<VisualShaderNodeTexture>(r)) {
EditorNode::get_singleton()->show_warning(TTR("Can't create a ViewportTexture in a Texture2D node because the texture will not be bound to a scene.\nUse a Texture2DParameter node instead and set the texture in the \"Shader Parameters\" tab."));
emit_changed(get_edited_property(), Ref<Resource>());
update_property();
return;
}

if (r && r->get_path().is_resource_file()) {
EditorNode::get_singleton()->show_warning(TTR("Can't create a ViewportTexture on resources saved as a file.\nResource needs to belong to a scene."));
emit_changed(get_edited_property(), Ref<Resource>());
Expand Down

0 comments on commit 7fbaefd

Please sign in to comment.