diff --git a/core/page.cpp b/core/page.cpp
index cf5a5b28c..c3d9614af 100644
--- a/core/page.cpp
+++ b/core/page.cpp
@@ -116,10 +116,12 @@ void PagePrivate::imageRotationDone( RotationJob * job )
PixmapObject &object = it.value();
(*object.m_pixmap) = QPixmap::fromImage( job->image() );
object.m_rotation = job->rotation();
+ object.m_isPartialPixmap = job->isPartialUpdate();
} else {
PixmapObject object;
object.m_pixmap = new QPixmap( QPixmap::fromImage( job->image() ) );
object.m_rotation = job->rotation();
+ object.m_isPartialPixmap = job->isPartialUpdate();
m_pixmaps.insert( job->observer(), object );
}
@@ -235,6 +237,9 @@ bool Page::hasPixmap( DocumentObserver *observer, int width, int height, const N
if ( width == -1 || height == -1 )
return true;
+ if ( it.value().m_isPartialPixmap )
+ return false;
+
const QPixmap *pixmap = it.value().m_pixmap;
return (pixmap->width() == width && pixmap->height() == height);
@@ -554,6 +559,7 @@ void PagePrivate::setPixmap( DocumentObserver *observer, QPixmap *pixmap, const
}
it.value().m_pixmap = pixmap;
it.value().m_rotation = m_rotation;
+ it.value().m_isPartialPixmap = isPartialPixmap;
} else {
// it can happen that we get a setPixmap while closing and thus the page controller is gone
if ( m_doc->m_pageController )
diff --git a/core/page.h b/core/page.h
index 10a777b7f..1567ccc78 100644
--- a/core/page.h
+++ b/core/page.h
@@ -141,8 +141,9 @@ class OKULARCORE_EXPORT Page
void setBoundingBox( const NormalizedRect& bbox );
/**
- * Returns whether the page of size @p width x @p height has a @p pixmap
+ * Returns whether the page of size @p width x @p height has a @p pixmap
* in the region given by @p rect for the given @p observer
+ * If there is a partially rendered pixmap the answer is false.
*/
bool hasPixmap( DocumentObserver *observer, int width = -1, int height = -1, const NormalizedRect &rect = NormalizedRect() ) const;
diff --git a/core/page_p.h b/core/page_p.h
index 7e35d3e10..17f27b44a 100644
--- a/core/page_p.h
+++ b/core/page_p.h
@@ -146,6 +146,7 @@ class PagePrivate
public:
QPixmap *m_pixmap = nullptr;
Rotation m_rotation;
+ bool m_isPartialPixmap = false;
};
QMap< DocumentObserver*, PixmapObject > m_pixmaps;
QMap< const DocumentObserver*, TilesManager *> m_tilesManagers;
diff --git a/generators/chm/org.kde.okular-chm.metainfo.xml b/generators/chm/org.kde.okular-chm.metainfo.xml
index f8e0cf836..e46bb5aab 100644
--- a/generators/chm/org.kde.okular-chm.metainfo.xml
+++ b/generators/chm/org.kde.okular-chm.metainfo.xml
@@ -81,6 +81,7 @@
https://okular.kde.org
+
diff --git a/generators/comicbook/org.kde.okular-comicbook.metainfo.xml b/generators/comicbook/org.kde.okular-comicbook.metainfo.xml
index 05b9deb51..44c3ffe49 100644
--- a/generators/comicbook/org.kde.okular-comicbook.metainfo.xml
+++ b/generators/comicbook/org.kde.okular-comicbook.metainfo.xml
@@ -84,6 +84,7 @@
https://okular.kde.org
+
diff --git a/generators/djvu/org.kde.okular-djvu.metainfo.xml b/generators/djvu/org.kde.okular-djvu.metainfo.xml
index 1fdb3700f..b6eb5948e 100644
--- a/generators/djvu/org.kde.okular-djvu.metainfo.xml
+++ b/generators/djvu/org.kde.okular-djvu.metainfo.xml
@@ -81,6 +81,7 @@
https://okular.kde.org
+
diff --git a/generators/dvi/org.kde.okular-dvi.metainfo.xml b/generators/dvi/org.kde.okular-dvi.metainfo.xml
index 2751f2739..ae7e007de 100644
--- a/generators/dvi/org.kde.okular-dvi.metainfo.xml
+++ b/generators/dvi/org.kde.okular-dvi.metainfo.xml
@@ -83,6 +83,7 @@
https://okular.kde.org
+
diff --git a/generators/epub/org.kde.okular-epub.metainfo.xml b/generators/epub/org.kde.okular-epub.metainfo.xml
index 38e59bffe..4997e6d58 100644
--- a/generators/epub/org.kde.okular-epub.metainfo.xml
+++ b/generators/epub/org.kde.okular-epub.metainfo.xml
@@ -81,6 +81,7 @@
https://okular.kde.org
+
diff --git a/generators/fax/org.kde.okular-fax.metainfo.xml b/generators/fax/org.kde.okular-fax.metainfo.xml
index 0c39fb89b..8bb6f0e79 100644
--- a/generators/fax/org.kde.okular-fax.metainfo.xml
+++ b/generators/fax/org.kde.okular-fax.metainfo.xml
@@ -82,6 +82,7 @@
https://okular.kde.org
+
diff --git a/generators/fictionbook/org.kde.okular-fb.metainfo.xml b/generators/fictionbook/org.kde.okular-fb.metainfo.xml
index ff6547555..fa2e19e00 100644
--- a/generators/fictionbook/org.kde.okular-fb.metainfo.xml
+++ b/generators/fictionbook/org.kde.okular-fb.metainfo.xml
@@ -81,6 +81,7 @@
https://okular.kde.org
+
diff --git a/generators/kimgio/org.kde.okular-kimgio.metainfo.xml b/generators/kimgio/org.kde.okular-kimgio.metainfo.xml
index 57eb0223f..8b1f96d91 100644
--- a/generators/kimgio/org.kde.okular-kimgio.metainfo.xml
+++ b/generators/kimgio/org.kde.okular-kimgio.metainfo.xml
@@ -104,6 +104,7 @@
https://okular.kde.org
+
diff --git a/generators/markdown/org.kde.okular-md.metainfo.xml b/generators/markdown/org.kde.okular-md.metainfo.xml
index fec3ca6cb..c6e40be2a 100644
--- a/generators/markdown/org.kde.okular-md.metainfo.xml
+++ b/generators/markdown/org.kde.okular-md.metainfo.xml
@@ -79,6 +79,7 @@
https://okular.kde.org
+
diff --git a/generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml b/generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml
index de45b2e5f..dc1156db0 100644
--- a/generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml
+++ b/generators/mobipocket/org.kde.okular-mobipocket.metainfo.xml
@@ -104,6 +104,7 @@
https://okular.kde.org
+
diff --git a/generators/ooo/org.kde.okular-ooo.metainfo.xml b/generators/ooo/org.kde.okular-ooo.metainfo.xml
index 4867bea27..9d65b799d 100644
--- a/generators/ooo/org.kde.okular-ooo.metainfo.xml
+++ b/generators/ooo/org.kde.okular-ooo.metainfo.xml
@@ -79,6 +79,7 @@
https://okular.kde.org
+
diff --git a/generators/plucker/org.kde.okular-plucker.metainfo.xml b/generators/plucker/org.kde.okular-plucker.metainfo.xml
index 06ec07e61..fb2425c17 100644
--- a/generators/plucker/org.kde.okular-plucker.metainfo.xml
+++ b/generators/plucker/org.kde.okular-plucker.metainfo.xml
@@ -81,6 +81,7 @@
https://okular.kde.org
+
diff --git a/generators/poppler/org.kde.okular-poppler.metainfo.xml b/generators/poppler/org.kde.okular-poppler.metainfo.xml
index c530bc29a..5795bf920 100644
--- a/generators/poppler/org.kde.okular-poppler.metainfo.xml
+++ b/generators/poppler/org.kde.okular-poppler.metainfo.xml
@@ -84,6 +84,7 @@
https://okular.kde.org
+
diff --git a/generators/spectre/org.kde.okular-spectre.metainfo.xml b/generators/spectre/org.kde.okular-spectre.metainfo.xml
index b0cdf6967..6a1fae75a 100644
--- a/generators/spectre/org.kde.okular-spectre.metainfo.xml
+++ b/generators/spectre/org.kde.okular-spectre.metainfo.xml
@@ -88,6 +88,7 @@
https://okular.kde.org
+
diff --git a/generators/tiff/org.kde.okular-tiff.metainfo.xml b/generators/tiff/org.kde.okular-tiff.metainfo.xml
index be4e8ce61..e7b8ec1df 100644
--- a/generators/tiff/org.kde.okular-tiff.metainfo.xml
+++ b/generators/tiff/org.kde.okular-tiff.metainfo.xml
@@ -81,6 +81,7 @@
https://okular.kde.org
+
diff --git a/generators/txt/org.kde.okular-txt.metainfo.xml b/generators/txt/org.kde.okular-txt.metainfo.xml
index 1960ed888..9556fdcae 100644
--- a/generators/txt/org.kde.okular-txt.metainfo.xml
+++ b/generators/txt/org.kde.okular-txt.metainfo.xml
@@ -80,6 +80,7 @@
https://okular.kde.org
+
diff --git a/generators/xps/org.kde.okular-xps.metainfo.xml b/generators/xps/org.kde.okular-xps.metainfo.xml
index 6accca86b..3abd793bd 100644
--- a/generators/xps/org.kde.okular-xps.metainfo.xml
+++ b/generators/xps/org.kde.okular-xps.metainfo.xml
@@ -81,6 +81,7 @@
https://okular.kde.org
+
diff --git a/mobile/app/org.kde.okular.kirigami.appdata.xml b/mobile/app/org.kde.okular.kirigami.appdata.xml
index 128f35ee0..1978ecb60 100644
--- a/mobile/app/org.kde.okular.kirigami.appdata.xml
+++ b/mobile/app/org.kde.okular.kirigami.appdata.xml
@@ -249,6 +249,7 @@
okularkirigami
+
diff --git a/shell/org.kde.okular.appdata.xml b/shell/org.kde.okular.appdata.xml
index 088a0ab44..a6021d2ab 100644
--- a/shell/org.kde.okular.appdata.xml
+++ b/shell/org.kde.okular.appdata.xml
@@ -299,6 +299,7 @@
https://www.microsoft.com/store/apps/9n41msq1wnm8
+