Просмотр исходного кода

Fixed previous oversight of current editor not corresponding to currently selected project browser item.

Ethan M 12 лет назад
Родитель
Сommit
a03cc80ec7
1 измененных файлов с 11 добавлено и 2 удалено
  1. 11 2
      IDE/Contents/Source/PolycodeIDEApp.cpp

+ 11 - 2
IDE/Contents/Source/PolycodeIDEApp.cpp

@@ -201,10 +201,19 @@ void PolycodeIDEApp::doRemoveFile() {
 		if(projectManager->getActiveProject()) {
 			frame->projectBrowser->refreshProject(projectManager->getActiveProject());
 		}
+		PolycodeEditor *editor;
+		for (int i=0; i < editorManager->openEditors.size(); i++) {
+			if (editorManager->openEditors[i]->getFilePath() == projectManager->selectedFile) {
+				editor = editorManager->openEditors[i];
+				break;
+			}
+		}
 		// have to set changes to false to avoid problems with saving and modal dialogs in removeEditor()
 		// besides, we're removing the file, so saving is not necessary
-		editorManager->getCurrentEditor()->setHasChanges(false);
-		closeFile(); //remove editor and remove from file selector combobox
+		if (editor) {
+			editor->setHasChanges(false);
+			removeEditor(editor);
+		}
 	}
 }