From 67ae77206b5ced3db5002e5d283fc01eca6a75bf Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 10 Aug 2016 17:04:12 +0300 Subject: [PATCH] Fixed issue with bad error code after the opening pdf. --- PdfReader/PdfReader.cpp | 12 ++++++++++-- PdfReader/PdfReader.h | 1 + PdfReader/Src/ErrorConstants.h | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/PdfReader/PdfReader.cpp b/PdfReader/PdfReader.cpp index afcd18d6e6..7747819f3d 100644 --- a/PdfReader/PdfReader.cpp +++ b/PdfReader/PdfReader.cpp @@ -83,6 +83,8 @@ namespace PdfReader m_pInternal->m_pFontManager->SetOwnerCache(pMeasurerCache); pMeasurerCache->SetCacheSize(1); m_pInternal->m_pGlobalParams->SetFontManager(m_pInternal->m_pFontManager); + + m_eError = errorNone; } CPdfReader::~CPdfReader() { @@ -128,8 +130,14 @@ namespace PdfReader if (!wsUserPassword.empty()) seUser = new StringExt(wsUserPassword.c_str()); + m_eError = errorNone; m_pInternal->m_pPDFDocument = new PDFDoc(m_pInternal->m_pGlobalParams, wsSrcPath.c_str(), seOwner, seUser); + if (m_pInternal->m_pPDFDocument) + m_eError = m_pInternal->m_pPDFDocument->GetErrorCode(); + else + m_eError = errorMemory; + if (seUser) delete seUser; @@ -144,7 +152,7 @@ namespace PdfReader m_pInternal->m_pFontList->Clear(); - return (errorNone == m_pInternal->m_pPDFDocument->GetErrorCode()); + return (errorNone == m_eError); } void CPdfReader::Close() { @@ -153,7 +161,7 @@ namespace PdfReader EError CPdfReader::GetError() { if (!m_pInternal->m_pPDFDocument) - return errorOpenFile; + return m_eError; return m_pInternal->m_pPDFDocument->GetErrorCode(); } diff --git a/PdfReader/PdfReader.h b/PdfReader/PdfReader.h index 3aa61b3143..ec7a238213 100644 --- a/PdfReader/PdfReader.h +++ b/PdfReader/PdfReader.h @@ -77,6 +77,7 @@ namespace PdfReader private: CPdfReader_Private* m_pInternal; + EError m_eError; }; } diff --git a/PdfReader/Src/ErrorConstants.h b/PdfReader/Src/ErrorConstants.h index 37bad4715a..318d401e8f 100644 --- a/PdfReader/Src/ErrorConstants.h +++ b/PdfReader/Src/ErrorConstants.h @@ -46,7 +46,8 @@ namespace PdfReader errorPrinting = 7, // ошибка во время печати errorPermission = 8, // Ошибка связанная с ограничениями наложенными на файл errorBadPageNum = 9, // Неверное количество страниц - errorFileIO = 10 // Ошибка при чтении/записи + errorFileIO = 10, // Ошибка при чтении/записи + errorMemory = 11 // Memory exceed } EError; }