Fix potentional race conditions
This commit is contained in:
@@ -97,13 +97,15 @@ ImageWidget::~ImageWidget()
|
|||||||
void ImageWidget::setImage(std::shared_ptr<RawImage> image, int index)
|
void ImageWidget::setImage(std::shared_ptr<RawImage> image, int index)
|
||||||
{
|
{
|
||||||
if(image == nullptr)return;
|
if(image == nullptr)return;
|
||||||
|
makeCurrent();
|
||||||
m_rawImage = image;
|
m_rawImage = image;
|
||||||
|
|
||||||
m_imgWidth = image->width();
|
m_imgWidth = image->width();
|
||||||
m_imgHeight = image->height();
|
m_imgHeight = image->height();
|
||||||
m_currentImg = index;
|
m_currentImg = index;
|
||||||
|
|
||||||
|
if(!m_image)return;
|
||||||
|
|
||||||
const RawImageType &rawImageType = rawImageTypes[image->type()];
|
const RawImageType &rawImageType = rawImageTypes[image->type()];
|
||||||
m_srgb = rawImageType.textureFormat == QOpenGLTexture::SRGB8 || rawImageType.textureFormat == QOpenGLTexture::SRGB8_Alpha8;
|
m_srgb = rawImageType.textureFormat == QOpenGLTexture::SRGB8 || rawImageType.textureFormat == QOpenGLTexture::SRGB8_Alpha8;
|
||||||
m_bwImg = rawImageType.bw;
|
m_bwImg = rawImageType.bw;
|
||||||
@@ -489,6 +491,9 @@ void ImageWidget::initializeGL()
|
|||||||
|
|
||||||
m_transferOptions = std::unique_ptr<QOpenGLPixelTransferOptions>(new QOpenGLPixelTransferOptions);
|
m_transferOptions = std::unique_ptr<QOpenGLPixelTransferOptions>(new QOpenGLPixelTransferOptions);
|
||||||
m_transferOptions->setAlignment(1);
|
m_transferOptions->setAlignment(1);
|
||||||
|
|
||||||
|
if(m_rawImage)
|
||||||
|
setImage(m_rawImage, m_currentImg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageWidget::dragEnterEvent(QDragEnterEvent *event)
|
void ImageWidget::dragEnterEvent(QDragEnterEvent *event)
|
||||||
|
|||||||
Reference in New Issue
Block a user