diff --git a/generators/djvu/kdjvu.cpp b/generators/djvu/kdjvu.cpp index c2e345ce7..36ae46b19 100644 --- a/generators/djvu/kdjvu.cpp +++ b/generators/djvu/kdjvu.cpp @@ -494,6 +494,10 @@ QImage KDjVu::Private::generateImageTile( ddjvu_page_t *djvupage, int& res, ddjvu_page_get_width( djvupage ); res = ddjvu_page_render( djvupage, DDJVU_RENDER_COLOR, &pagerect, &renderrect, m_format, res_img.bytesPerLine(), (char *)res_img.bits() ); + if (!res) + { + res_img.fill(Qt::white); + } #ifdef KDJVU_DEBUG qDebug() << "rendering result:" << res; #endif @@ -909,27 +913,27 @@ QImage KDjVu::image( int page, int width, int height, int rotation ) { if ( d->m_cacheEnabled ) { - bool found = false; - QList::Iterator it = d->mImgCache.begin(), itEnd = d->mImgCache.end(); - for ( ; ( it != itEnd ) && !found; ++it ) - { - ImageCacheItem* cur = *it; - if ( ( cur->page == page ) && - ( rotation % 2 == 0 - ? cur->width == width && cur->height == height - : cur->width == height && cur->height == width ) ) - found = true; - } - if ( found ) - { - // taking the element and pushing to the top of the list - --it; - ImageCacheItem* cur2 = *it; - d->mImgCache.erase( it ); - d->mImgCache.push_front( cur2 ); + bool found = false; + QList::Iterator it = d->mImgCache.begin(), itEnd = d->mImgCache.end(); + for ( ; ( it != itEnd ) && !found; ++it ) + { + ImageCacheItem* cur = *it; + if ( ( cur->page == page ) && + ( rotation % 2 == 0 + ? cur->width == width && cur->height == height + : cur->width == height && cur->height == width ) ) + found = true; + } + if ( found ) + { + // taking the element and pushing to the top of the list + --it; + ImageCacheItem* cur2 = *it; + d->mImgCache.erase( it ); + d->mImgCache.push_front( cur2 ); - return cur2->img; - } + return cur2->img; + } } if ( !d->m_pages_cache.at( page ) )