fix(storage): Inhalt der zuletzt geöffneten Seite nach Neustart nicht überschreiben
Beim Start wurde nur die erste Seite geladen. War zuletzt eine spätere Seite offen, war sie nach dem Neustart ein leerer, ungeladener Platzhalter: Das Blatt erschien leer, und Zeichnen/Radieren/Hintergrund wechseln speicherte den Platzhalter und überschrieb den bisherigen Inhalt der Seite. - load_notebook lädt zusätzlich die aktuelle Seite - Autosave schreibt nie ungeladene Platzhalter (Schutz ging beim Merge des Storage-Branches verloren) - Regressionstests für beide Fälle Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+6
-1
@@ -312,7 +312,12 @@ impl AutosaveController {
|
||||
|
||||
/// Markiert eine Seite als geändert und startet/erneuert das Debounce-Fenster.
|
||||
pub fn mark_page_dirty(&mut self, page: &Page, manifest: &NotebookManifest) {
|
||||
if self.read_only || page.persist == crate::document::PersistState::ReadOnlyAfterLoadError {
|
||||
// Nicht geladene Platzhalter nie schreiben: Sie sind leer und würden den Inhalt
|
||||
// der Seitendatei überschreiben
|
||||
if self.read_only
|
||||
|| !page.is_loaded
|
||||
|| page.persist == crate::document::PersistState::ReadOnlyAfterLoadError
|
||||
{
|
||||
return;
|
||||
}
|
||||
let page_data = PageData::from(page);
|
||||
|
||||
Reference in New Issue
Block a user