Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 105ff06

Browse files
Only update project file assignment if changed (#88)
1 parent 11b9ed1 commit 105ff06

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

‎electron/app/js/project.js‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ async function saveProject(targetWindow, projectFile, projectContents, externalF
170170
// the result will contain only sections that were updated due to save, such as model.archiveFiles
171171
const saveResult = {};
172172

173-
_addOpenProject(targetWindow, projectFile,false);
173+
_assignProjectFile(targetWindow, projectFile);
174174
saveResult['model'] = await _saveExternalFileContents(_getProjectDirectory(targetWindow), externalFileContents);
175175
await _saveProjectFile(targetWindow, projectFile, projectContents);
176176
const wktWindow = require('./wktWindow');
@@ -729,6 +729,17 @@ function _addOpenProject(targetWindow, file, pending, credentialManager) {
729729
openProjects.set(targetWindow, value);
730730
}
731731

732+
// assign project file to window if none is assigned, or file path changes.
733+
// avoid unnecessary reassignments in order to keep credential manager between saves.
734+
function _assignProjectFile(targetWindow, projectFile) {
735+
const openProject = openProjects.get(targetWindow);
736+
const oldFile = openProject ? openProject.projectDirectory + '|' + openProject.projectFile : '';
737+
const newFile = path.resolve(path.dirname(projectFile)) + '|' + path.basename(projectFile);
738+
if (newFile !== oldFile) {
739+
_addOpenProject(targetWindow, projectFile, false);
740+
}
741+
}
742+
732743
async function _createCredentialManager(targetWindow, projectFileJsonContent) {
733744
let credentialStorePolicy = _getProjectCredentialStorePolicy(projectFileJsonContent);
734745
return new Promise((resolve, reject) => {

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /