diff --git a/imagescrollareagl.cpp b/imagescrollareagl.cpp index b054cac..0024d71 100644 --- a/imagescrollareagl.cpp +++ b/imagescrollareagl.cpp @@ -97,13 +97,15 @@ ImageWidget::~ImageWidget() void ImageWidget::setImage(std::shared_ptr image, int index) { if(image == nullptr)return; - + makeCurrent(); m_rawImage = image; m_imgWidth = image->width(); m_imgHeight = image->height(); m_currentImg = index; + if(!m_image)return; + const RawImageType &rawImageType = rawImageTypes[image->type()]; m_srgb = rawImageType.textureFormat == QOpenGLTexture::SRGB8 || rawImageType.textureFormat == QOpenGLTexture::SRGB8_Alpha8; m_bwImg = rawImageType.bw; @@ -489,6 +491,9 @@ void ImageWidget::initializeGL() m_transferOptions = std::unique_ptr(new QOpenGLPixelTransferOptions); m_transferOptions->setAlignment(1); + + if(m_rawImage) + setImage(m_rawImage, m_currentImg); } void ImageWidget::dragEnterEvent(QDragEnterEvent *event)