Pārlūkot izejas kodu

Merge pull request #33107 from volzhs/toggle-camera-preview-error

Fix error when opening or closing scene with camera preview on
Rémi Verschelde 5 gadi atpakaļ
vecāks
revīzija
816341af25
1 mainītis faili ar 5 papildinājumiem un 1 dzēšanām
  1. 5 1
      editor/plugins/spatial_editor_plugin.cpp

+ 5 - 1
editor/plugins/spatial_editor_plugin.cpp

@@ -2760,6 +2760,7 @@ void SpatialEditorViewport::_menu_option(int p_option) {
 
 void SpatialEditorViewport::_preview_exited_scene() {
 
+	preview_camera->disconnect("toggled", this, "_toggle_camera_preview");
 	preview_camera->set_pressed(false);
 	_toggle_camera_preview(false);
 	view_menu->show();
@@ -3031,6 +3032,9 @@ void SpatialEditorViewport::set_state(const Dictionary &p_state) {
 		view_menu->get_popup()->set_item_checked(idx, previewing_cinema);
 	}
 
+	if (preview_camera->is_connected("toggled", this, "_toggle_camera_preview")) {
+		preview_camera->disconnect("toggled", this, "_toggle_camera_preview");
+	}
 	if (p_state.has("previewing")) {
 		Node *pv = EditorNode::get_singleton()->get_edited_scene()->get_node(p_state["previewing"]);
 		if (Object::cast_to<Camera>(pv)) {
@@ -3043,6 +3047,7 @@ void SpatialEditorViewport::set_state(const Dictionary &p_state) {
 			preview_camera->show();
 		}
 	}
+	preview_camera->connect("toggled", this, "_toggle_camera_preview");
 }
 
 Dictionary SpatialEditorViewport::get_state() const {
@@ -3594,7 +3599,6 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed
 	vbox->add_child(preview_camera);
 	preview_camera->set_h_size_flags(0);
 	preview_camera->hide();
-	preview_camera->connect("toggled", this, "_toggle_camera_preview");
 	previewing = NULL;
 	gizmo_scale = 1.0;