diff --git a/kstars/fitsviewer/fitsview.cpp b/kstars/fitsviewer/fitsview.cpp --- a/kstars/fitsviewer/fitsview.cpp +++ b/kstars/fitsviewer/fitsview.cpp @@ -1547,17 +1547,16 @@ void FITSView::initDisplayImage() { - if (!rawImage.isNull() && - rawImage.width() == imageData->width() && - rawImage.height() == imageData->height() && - (((rawImage.format() == QImage::Format_Indexed8) && (imageData->channels() == 1)) || - ((rawImage.format() == QImage::Format_RGB32) && (imageData->channels() == 3)))) - return; - // Account for leftover when sampling. Thus a 5-wide image sampled by 2 // would result in a width of 3 (samples 0, 2 and 4). int w = (imageData->width() + sampling - 1) / sampling; int h = (imageData->height() + sampling - 1) / sampling; + + if (!rawImage.isNull() && rawImage.width() == w && rawImage.height() == h && + (((rawImage.format() == QImage::Format_Indexed8) && (imageData->channels() == 1)) || + ((rawImage.format() == QImage::Format_RGB32) && (imageData->channels() == 3)))) + return; + if (imageData->channels() == 1) { rawImage = QImage(w, h, QImage::Format_Indexed8);