aboutsummaryrefslogtreecommitdiff
path: root/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp')
-rw-r--r--tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
index 080ed7d11..96c7e4540 100644
--- a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+++ b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
@@ -13,7 +13,7 @@ void CollisionPolygon2DEditor::_notification(int p_what) {
button_create->set_icon( get_icon("Edit","EditorIcons"));
button_edit->set_icon( get_icon("MovePoint","EditorIcons"));
button_edit->set_pressed(true);
-
+ get_scene()->connect("node_removed",this,"_node_removed");
} break;
case NOTIFICATION_FIXED_PROCESS: {
@@ -28,6 +28,7 @@ void CollisionPolygon2DEditor::_node_removed(Node *p_node) {
if(p_node==node) {
node=NULL;
hide();
+ canvas_item_editor->get_viewport_control()->update();
}
}
@@ -83,6 +84,9 @@ void CollisionPolygon2DEditor::_wip_close() {
bool CollisionPolygon2DEditor::forward_input_event(const InputEvent& p_event) {
+ if (!node)
+ return false;
+
switch(p_event.type) {
case InputEvent::MOUSE_BUTTON: {
@@ -379,6 +383,7 @@ void CollisionPolygon2DEditor::_bind_methods() {
ObjectTypeDB::bind_method(_MD("_menu_option"),&CollisionPolygon2DEditor::_menu_option);
ObjectTypeDB::bind_method(_MD("_canvas_draw"),&CollisionPolygon2DEditor::_canvas_draw);
+ ObjectTypeDB::bind_method(_MD("_node_removed"),&CollisionPolygon2DEditor::_node_removed);
}