diff --git a/ui/pagepainter.cpp b/ui/pagepainter.cpp index 05e82c934..8b1becdfc 100644 --- a/ui/pagepainter.cpp +++ b/ui/pagepainter.cpp @@ -46,11 +46,24 @@ void PagePainter::paintPageOnPainter( QPainter * destPainter, const Okular::Page if ( !pixmap || pixmapRescaleRatio > 20.0 || pixmapRescaleRatio < 0.25 || (scaledWidth != pixmap->width() && pixmapPixels > 6000000L) ) { - if ( Okular::Settings::changeColors() && - Okular::Settings::renderMode() == Okular::Settings::EnumRenderMode::Paper ) - destPainter->fillRect( limits, Okular::Settings::paperColor() ); - else - destPainter->fillRect( limits, Qt::white ); + QColor color = Qt::white; + if ( Okular::Settings::changeColors() ) + { + switch ( Okular::Settings::renderMode() ) + { + case Okular::Settings::EnumRenderMode::Inverted: + color = Qt::black; + break; + case Okular::Settings::EnumRenderMode::Paper: + color = Okular::Settings::paperColor(); + break; + case Okular::Settings::EnumRenderMode::Recolor: + color = Okular::Settings::recolorBackground(); + break; + default: ; + } + } + destPainter->fillRect( limits, color ); // draw something on the blank page: the okular icon or a cross (as a fallback) if ( !busyPixmap->isNull() )