summaryrefslogtreecommitdiff
path: root/core/fxcodec/jbig2/JBig2_Segment.h
diff options
context:
space:
mode:
authorNicolas Pena <npm@chromium.org>2017-07-13 10:06:15 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-07-13 14:29:34 +0000
commit17453d03c3bdd18a893ae86058a6184939aee026 (patch)
tree2a87278c98e851744f20cd9aaa1460f849ef097e /core/fxcodec/jbig2/JBig2_Segment.h
parent360d1fce569b57aa2c487f6e171ba19b9dc8885e (diff)
downloadpdfium-17453d03c3bdd18a893ae86058a6184939aee026.tar.xz
More unique_ptrs in JBig2 code
This CL makes CJBig2_Segment own the results: symbol, pattern, huffman, and huffman. This causes a lot more unique_ptr usage in JBig2 code. Change-Id: I1f0a5bfaaf85053658b467bef5325c72d1f496c7 Reviewed-on: https://pdfium-review.googlesource.com/7690 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'core/fxcodec/jbig2/JBig2_Segment.h')
-rw-r--r--core/fxcodec/jbig2/JBig2_Segment.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/core/fxcodec/jbig2/JBig2_Segment.h b/core/fxcodec/jbig2/JBig2_Segment.h
index d89d652699..26af0f6890 100644
--- a/core/fxcodec/jbig2/JBig2_Segment.h
+++ b/core/fxcodec/jbig2/JBig2_Segment.h
@@ -7,6 +7,8 @@
#ifndef CORE_FXCODEC_JBIG2_JBIG2_SEGMENT_H_
#define CORE_FXCODEC_JBIG2_JBIG2_SEGMENT_H_
+#include <memory>
+
#include "core/fxcodec/jbig2/JBig2_Define.h"
#include "core/fxcodec/jbig2/JBig2_HuffmanTable.h"
#include "core/fxcodec/jbig2/JBig2_PatternDict.h"
@@ -54,13 +56,10 @@ class CJBig2_Segment {
uint32_t m_dwDataOffset;
JBig2_SegmentState m_State;
JBig2_ResultType m_nResultType;
- union {
- CJBig2_SymbolDict* sd;
- CJBig2_PatternDict* pd;
- CJBig2_Image* im;
- CJBig2_HuffmanTable* ht;
- void* vd;
- } m_Result;
+ std::unique_ptr<CJBig2_SymbolDict> m_SymbolDict;
+ std::unique_ptr<CJBig2_PatternDict> m_PatternDict;
+ std::unique_ptr<CJBig2_Image> m_Image;
+ std::unique_ptr<CJBig2_HuffmanTable> m_HuffmanTable;
};
#endif // CORE_FXCODEC_JBIG2_JBIG2_SEGMENT_H_