summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-01-04 14:25:52 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-01-04 14:25:52 +0100
commit3224e47af8a8b0666be867f271192416232b1ac1 (patch)
tree3980c89c648531352485c542fc363d7169c6c2fa
parentc921b6587c1efb1d0583187c89aa868ee780ba21 (diff)
parentaa2522edcd55d23f7bf293252c3de2c45113c6f4 (diff)
downloadredot-engine-3224e47af8a8b0666be867f271192416232b1ac1.tar.gz
Merge pull request #84486 from jcostello/jcostello/fix-material-drop
Fix material drag and drop
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index f42fe4e941..417485f718 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -4247,17 +4247,16 @@ bool Node3DEditorViewport::_apply_preview_material(ObjectID p_target, const Poin
return false;
}
- if (spatial_editor->get_preview_material() != mesh_instance->get_surface_override_material(closest_surface)) {
- spatial_editor->set_preview_material_surface(closest_surface);
- spatial_editor->set_preview_reset_material(mesh_instance->get_surface_override_material(closest_surface));
- mesh_instance->set_surface_override_material(closest_surface, spatial_editor->get_preview_material());
- }
+ spatial_editor->set_preview_material_surface(closest_surface);
+ spatial_editor->set_preview_reset_material(mesh_instance->get_surface_override_material(closest_surface));
+ mesh_instance->set_surface_override_material(closest_surface, spatial_editor->get_preview_material());
return true;
}
GeometryInstance3D *geometry_instance = Object::cast_to<GeometryInstance3D>(target_inst);
- if (geometry_instance && spatial_editor->get_preview_material() != geometry_instance->get_material_override()) {
+ if (geometry_instance) {
+ spatial_editor->set_preview_material_surface(-1);
spatial_editor->set_preview_reset_material(geometry_instance->get_material_override());
geometry_instance->set_material_override(spatial_editor->get_preview_material());
return true;
@@ -4277,7 +4276,6 @@ void Node3DEditorViewport::_reset_preview_material() const {
GeometryInstance3D *geometry_instance = Object::cast_to<GeometryInstance3D>(last_target_inst);
if (mesh_instance && spatial_editor->get_preview_material_surface() != -1) {
mesh_instance->set_surface_override_material(spatial_editor->get_preview_material_surface(), spatial_editor->get_preview_reset_material());
- spatial_editor->set_preview_material_surface(-1);
} else if (geometry_instance) {
geometry_instance->set_material_override(spatial_editor->get_preview_reset_material());
}