Finding: The open_project method loads the four component files in sequence. If open_palette and open_tileset succeed, but open_supertiles fails, the application is left in an inconsistent state—it has the new palette and tiles but the old supertiles and map.
Impact: This can confuse the user and potentially lead to saving a corrupted or mismatched project. The method should ideally load all data into temporary variables first and only replace the live application data if all files are read successfully.
Finding: The open_project method loads the four component files in sequence. If open_palette and open_tileset succeed, but open_supertiles fails, the application is left in an inconsistent state—it has the new palette and tiles but the old supertiles and map.
Impact: This can confuse the user and potentially lead to saving a corrupted or mismatched project. The method should ideally load all data into temporary variables first and only replace the live application data if all files are read successfully.