From 5127c71cb31f889a53935c236b9c443a32b7acf3 Mon Sep 17 00:00:00 2001 From: ThatNerdNxtDoor Date: Tue, 22 Jul 2025 12:40:26 -0400 Subject: [PATCH] Region Editor Window Properly Updates When Undoing Changes to `region_rect` A commit that addresses #108519 by allowing the editor dialogue window to listen for the `item_rect_changed` signal from the attached CanvasItem. Region Editor Window Properly Updates When Undoing Changes to `region_rect` A basic fix for #108519 by allowing the editor dialogue window to listen for the `item_rect_changed` signal from the attached CanvasItem. Region Editor Window Properly Updates When Undoing Changes to `region_rect` A commit that addresses #108519 by allowing the editor dialogue window to listen for the `item_rect_changed` signal from the attached CanvasItem. Region Editor Window Properly Updates When Undoing Changes to `region_rect` A commit that addresses #108519 by allowing the editor dialogue window to listen for the `item_rect_changed` signal from the attached CanvasItem. Region Editor Window Properly Updates When Undoing Changes to `region_rect` A basic fix for #108519 by allowing the editor dialogue window to listen for the `item_rect_changed` signal from the attached CanvasItem. Region Editor Window Properly Updates When Undoing Changes to `region_rect` A commit that addresses #108519 by allowing the editor dialogue window to listen for the `item_rect_changed` signal from the attached CanvasItem. --- editor/scene/texture/texture_region_editor_plugin.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/editor/scene/texture/texture_region_editor_plugin.cpp b/editor/scene/texture/texture_region_editor_plugin.cpp index c599150ff3..0e44452bef 100644 --- a/editor/scene/texture/texture_region_editor_plugin.cpp +++ b/editor/scene/texture/texture_region_editor_plugin.cpp @@ -881,18 +881,23 @@ void TextureRegionEditor::_node_removed(Node *p_node) { void TextureRegionEditor::_clear_edited_object() { if (node_sprite_2d) { node_sprite_2d->disconnect(SceneStringName(texture_changed), callable_mp(this, &TextureRegionEditor::_texture_changed)); + node_sprite_2d->disconnect(SceneStringName(item_rect_changed), callable_mp(this, &TextureRegionEditor::_edit_region)); } if (node_sprite_3d) { node_sprite_3d->disconnect(SceneStringName(texture_changed), callable_mp(this, &TextureRegionEditor::_texture_changed)); + node_sprite_3d->disconnect(SceneStringName(item_rect_changed), callable_mp(this, &TextureRegionEditor::_edit_region)); } if (node_ninepatch) { node_ninepatch->disconnect(SceneStringName(texture_changed), callable_mp(this, &TextureRegionEditor::_texture_changed)); + node_ninepatch->disconnect(SceneStringName(item_rect_changed), callable_mp(this, &TextureRegionEditor::_edit_region)); } if (res_stylebox.is_valid()) { res_stylebox->disconnect_changed(callable_mp(this, &TextureRegionEditor::_texture_changed)); + res_stylebox->disconnect_changed(callable_mp(this, &TextureRegionEditor::_edit_region)); } if (res_atlas_texture.is_valid()) { res_atlas_texture->disconnect_changed(callable_mp(this, &TextureRegionEditor::_texture_changed)); + res_atlas_texture->disconnect_changed(callable_mp(this, &TextureRegionEditor::_edit_region)); } node_sprite_2d = nullptr; @@ -922,8 +927,10 @@ void TextureRegionEditor::edit(Object *p_obj) { if (is_resource) { Object::cast_to(p_obj)->connect_changed(callable_mp(this, &TextureRegionEditor::_texture_changed)); + Object::cast_to(p_obj)->connect_changed(callable_mp(this, &TextureRegionEditor::_edit_region)); } else { p_obj->connect(SceneStringName(texture_changed), callable_mp(this, &TextureRegionEditor::_texture_changed)); + p_obj->connect(SceneStringName(item_rect_changed), callable_mp(this, &TextureRegionEditor::_edit_region)); } _edit_region(); }