Skip to content

Commit 427cffb

Browse files
committed
fix ProjectManager import dialog error
When Cancel is selected in the import dialog, no subsequent operations should be performed.
1 parent 0fdbf05 commit 427cffb

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

editor/project_manager/project_dialog.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,10 @@ void ProjectDialog::ask_for_path_and_show() {
830830
_browse_project_path();
831831
}
832832

833-
void ProjectDialog::show_dialog(bool p_reset_name) {
833+
void ProjectDialog::show_dialog(bool p_reset_name, bool p_is_confirmed) {
834+
if (mode == MODE_IMPORT && !p_is_confirmed) {
835+
return;
836+
}
834837
if (mode == MODE_RENAME) {
835838
// Name and path are set in `ProjectManager::_rename_project`.
836839
project_path->set_editable(false);
@@ -978,7 +981,8 @@ void ProjectDialog::_notification(int p_what) {
978981
fdialog_project->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
979982
fdialog_project->connect("dir_selected", callable_mp(this, &ProjectDialog::_project_path_selected));
980983
fdialog_project->connect("file_selected", callable_mp(this, &ProjectDialog::_project_path_selected));
981-
fdialog_project->connect("canceled", callable_mp(this, &ProjectDialog::show_dialog).bind(false), CONNECT_DEFERRED);
984+
fdialog_project->connect("confirmed", callable_mp(this, &ProjectDialog::show_dialog).bind(false, true), CONNECT_DEFERRED);
985+
fdialog_project->connect("canceled", callable_mp(this, &ProjectDialog::show_dialog).bind(false, false), CONNECT_DEFERRED);
982986
callable_mp((Node *)this, &Node::add_sibling).call_deferred(fdialog_project, false);
983987
} break;
984988
}

editor/project_manager/project_dialog.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ class ProjectDialog : public ConfirmationDialog {
152152
void set_duplicate_can_edit(bool p_duplicate_can_edit);
153153

154154
void ask_for_path_and_show();
155-
void show_dialog(bool p_reset_name = true);
155+
void show_dialog(bool p_reset_name = true, bool p_is_confirmed = true);
156156

157157
ProjectDialog();
158158
};

0 commit comments

Comments
 (0)