diff --git a/app/scanner/dialog_multirotateimagefile.cpp b/app/scanner/dialog_multirotateimagefile.cpp index 2a9af9dc..fa1e1268 100644 --- a/app/scanner/dialog_multirotateimagefile.cpp +++ b/app/scanner/dialog_multirotateimagefile.cpp @@ -48,6 +48,8 @@ void Dialog_MultiRotateImageFile::ThreadFunc(HGThread thread, HGPointer param) emit p->updateProgress(i); + HGImage img = nullptr; + HGImgFmtReader imgFmtReader = nullptr; HGImgFmt_OpenImageReader(getStdString(p->m_fileList[i]).c_str(), 0, &imgFmtReader); if (nullptr != imgFmtReader) @@ -56,7 +58,6 @@ void Dialog_MultiRotateImageFile::ThreadFunc(HGThread thread, HGPointer param) HGImgFmt_GetImagePageCount(imgFmtReader, &pageCount); if (1 == pageCount) { - HGImage img = nullptr; HGImgFmt_LoadImageFromReader(imgFmtReader, 0, nullptr, 0, HGBASE_IMGORIGIN_TOP, &img); if (nullptr != img) { @@ -83,18 +84,21 @@ void Dialog_MultiRotateImageFile::ThreadFunc(HGThread thread, HGPointer param) HGBase_DestroyImage(img); img = img2; } - - if (HGBASE_ERR_OK == HGImgFmt_SaveImage(img, 0, nullptr, getStdString(p->m_fileList[i]).c_str())) - { - emit p->updateImageFile(p->m_fileList[i]); - } - - HGBase_DestroyImage(img); } } HGImgFmt_CloseImageReader(imgFmtReader); } + + if (nullptr != img) + { + if (HGBASE_ERR_OK == HGImgFmt_SaveImage(img, 0, nullptr, getStdString(p->m_fileList[i]).c_str())) + { + emit p->updateImageFile(p->m_fileList[i]); + } + + HGBase_DestroyImage(img); + } } emit p->finish();