Bug: Backup-Fenster zeigt keinen rsync-Log / Command #5

Open
opened 2026-09-07 17:50:50 +00:00 by x3 · 0 comments
Owner

Problem

Das Backup-Fenster bleibt auf "Waiting for rsync..." stehen. Weder der rsync-Befehl noch die Fortschrittszeilen erscheinen.

Ursache

In SnapshotManager::create_snapshot() Zeile 40:

rsync_.on_progress = on_progress;  // on_progress ist nullptr!

SnapshotManager hat ein eigenes on_progress Member das nullptr ist. Dieser Aufruf ueberschreibt den MainWindow-Callback, der in MainWindow::MainWindow() korrekt gesetzt wurde:

// MainWindow setzt:
rsync_.on_progress = [this](const RsyncProgress& p) { ... };

// SnapshotManager ueberschreibt mit nullptr:
rsync_.on_progress = on_progress;  // = nullptr!

Dadurch gehen alle rsync-Fortschritts-Updates verloren.

Loesung

Zeile entfernt. MainWindow setzt rsync_.on_progress bereits im Konstruktor. SnapshotManager soll den Callback nicht ueberschreiben.

// Vorher:
rsync_.on_progress = on_progress;
bool ok = rsync_.create_snapshot(...);

// Nachher:
bool ok = rsync_.create_snapshot(...);

Betroffene Dateien

  • src/snapshot_manager.cpp:40

Gefixt in Commit 3304473.

## Problem Das Backup-Fenster bleibt auf "Waiting for rsync..." stehen. Weder der rsync-Befehl noch die Fortschrittszeilen erscheinen. ## Ursache In `SnapshotManager::create_snapshot()` Zeile 40: ```cpp rsync_.on_progress = on_progress; // on_progress ist nullptr! ``` `SnapshotManager` hat ein eigenes `on_progress` Member das `nullptr` ist. Dieser Aufruf ueberschreibt den MainWindow-Callback, der in `MainWindow::MainWindow()` korrekt gesetzt wurde: ```cpp // MainWindow setzt: rsync_.on_progress = [this](const RsyncProgress& p) { ... }; // SnapshotManager ueberschreibt mit nullptr: rsync_.on_progress = on_progress; // = nullptr! ``` Dadurch gehen alle rsync-Fortschritts-Updates verloren. ## Loesung Zeile entfernt. MainWindow setzt `rsync_.on_progress` bereits im Konstruktor. SnapshotManager soll den Callback nicht ueberschreiben. ```cpp // Vorher: rsync_.on_progress = on_progress; bool ok = rsync_.create_snapshot(...); // Nachher: bool ok = rsync_.create_snapshot(...); ``` ## Betroffene Dateien - `src/snapshot_manager.cpp:40` Gefixt in Commit `3304473`.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: x3/x3-backup#5