Skip to content

Commit a06dc2c

Browse files
committed
Fix Thorium print preview thumbnails
1 parent f0ec0d7 commit a06dc2c

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

web/app.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2140,6 +2140,25 @@ const PDFViewerApplication = {
21402140
console.error("Unable to get page for thumb view", reason);
21412141
}
21422142

2143+
const dispatchThumbnailRendered = () => {
2144+
eventBus.dispatch("thumbnailrendered", {
2145+
source: thumbView,
2146+
pageNumber: thumbView.id,
2147+
pdfPage: thumbView.pdfPage,
2148+
});
2149+
};
2150+
2151+
if (thumbView.renderingState === RenderingStates.FINISHED) {
2152+
for (let i = 0; i < 25 && !thumbView.image?.src; i++) {
2153+
await new Promise(resolve => setTimeout(resolve, 20));
2154+
}
2155+
if (thumbView.image?.src) {
2156+
dispatchThumbnailRendered();
2157+
return;
2158+
}
2159+
thumbView.reset();
2160+
}
2161+
21432162
await new Promise((resolve) => {
21442163
const eventHandler = ({ source }) => {
21452164
if (source === thumbView) {
@@ -2148,7 +2167,11 @@ const PDFViewerApplication = {
21482167
}
21492168
};
21502169
eventBus._on("thumbnailrendered", eventHandler);
2151-
this.pdfRenderingQueue.renderView(thumbView);
2170+
if (!this.pdfRenderingQueue.renderView(thumbView)) {
2171+
eventBus._off("thumbnailrendered", eventHandler);
2172+
dispatchThumbnailRendered();
2173+
resolve();
2174+
}
21522175
});
21532176

21542177
};

0 commit comments

Comments
 (0)