File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 } ;
You can’t perform that action at this time.
0 commit comments