Fix #55: Mutable Felder in PdfPreviewPane als volatile deklarieren

Die Felder currentDocument, currentRenderer, currentSourceFile,
currentPage und totalPages werden vom Worker-Thread geschrieben und
vom JavaFX Application Thread gelesen. Das volatile-Keyword garantiert
nun die Sichtbarkeit zwischen den Threads gemaess Java Memory Model.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-29 06:20:56 +02:00
parent cd273505af
commit 8ca6d08133
@@ -112,22 +112,22 @@ public final class PdfPreviewPane {
* Aktuell geöffnetes PDF-Dokument. Zugriff ausschließlich vom Worker-Thread.
* {@code null} wenn kein Dokument geöffnet ist.
*/
private PDDocument currentDocument = null;
private volatile PDDocument currentDocument = null;
/**
* Renderer für das aktuell geöffnete Dokument. Zugriff ausschließlich vom Worker-Thread.
* {@code null} wenn kein Dokument geöffnet ist.
*/
private PDFRenderer currentRenderer = null;
private volatile PDFRenderer currentRenderer = null;
/** Aktuell geladene Quelldatei; null wenn keine Selektion vorliegt. */
private Path currentSourceFile = null;
private volatile Path currentSourceFile = null;
/** Aktuell angezeigte Seite (1-basiert; 0 wenn keine Datei geladen). */
private int currentPage = 0;
private volatile int currentPage = 0;
/** Anzahl der Seiten der aktuell geladenen PDF; -1 wenn nicht ermittelt. */
private int totalPages = -1;
private volatile int totalPages = -1;
/** Gibt an ob die Navigation bedienbar ist. */
private boolean enabled = true;