Now LASSIE treats a readable but malformed .dissco XML file as a successfully opened project. The resulting project may be empty or only partially loaded, but the UI still allows the user to continue working and saving.
To prevent data loss, LASSIE should reject malformed or structurally invalid projects, show a clear error, and keep the currently opened project unchanged.
Notes for reference:
ProjectManager::parse() returns void and does not propagate XML errors.
ProjectManager::open() installs and returns the project regardless of parse status.
MainWindow::openProjectPath() closes the current project before validating the new one.
Relevant files:
LASSIE/src/core/project_struct.cpp:564-685
LASSIE/src/core/project_struct.cpp:749-763
LASSIE/src/windows/MainWindow.cpp:253-280
Now LASSIE treats a readable but malformed .dissco XML file as a successfully opened project. The resulting project may be empty or only partially loaded, but the UI still allows the user to continue working and saving.
To prevent data loss, LASSIE should reject malformed or structurally invalid projects, show a clear error, and keep the currently opened project unchanged.
Notes for reference:
ProjectManager::parse()returns void and does not propagate XML errors.ProjectManager::open()installs and returns the project regardless of parse status.MainWindow::openProjectPath()closes the current project before validating the new one.Relevant files: