| Index: xfa/fxbarcode/qrcode/BC_QRDataMask.cpp
|
| diff --git a/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp b/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp
|
| index 20f94069f43aedf301d7899a853b5779f373a73a..c6e01f022c140cc983645c08bc3f455ddec0a866 100644
|
| --- a/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp
|
| +++ b/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp
|
| @@ -25,25 +25,24 @@
|
| #include "xfa/fxbarcode/utils.h"
|
|
|
| static int32_t N_DATA_MASKS = 0;
|
| -CFX_PtrArray* CBC_QRDataMask::DATA_MASKS = NULL;
|
| +CFX_ArrayTemplate<CBC_QRDataMask*>* CBC_QRDataMask::DATA_MASKS = nullptr;
|
|
|
| void CBC_QRDataMask::Initialize() {
|
| - DATA_MASKS = new CFX_PtrArray();
|
| + DATA_MASKS = new CFX_ArrayTemplate<CBC_QRDataMask*>();
|
| N_DATA_MASKS = BuildDataMasks();
|
| }
|
| +
|
| void CBC_QRDataMask::Finalize() {
|
| Destroy();
|
| delete DATA_MASKS;
|
| + DATA_MASKS = nullptr;
|
| }
|
| +
|
| void CBC_QRDataMask::Destroy() {
|
| - int32_t i;
|
| - for (i = 0; i < N_DATA_MASKS; i++) {
|
| - CBC_QRDataMask* p = (CBC_QRDataMask*)(*DATA_MASKS)[i];
|
| - if (p) {
|
| - delete p;
|
| - }
|
| - }
|
| + for (int32_t i = 0; i < N_DATA_MASKS; ++i)
|
| + delete (*DATA_MASKS)[i];
|
| }
|
| +
|
| void CBC_QRDataMask::UnmaskBitMatirx(CBC_CommonBitMatrix* bits,
|
| int32_t dimension) {
|
| for (int32_t i = 0; i < dimension; i++) {
|
| @@ -57,10 +56,11 @@ void CBC_QRDataMask::UnmaskBitMatirx(CBC_CommonBitMatrix* bits,
|
| CBC_QRDataMask* CBC_QRDataMask::ForReference(int32_t reference, int32_t& e) {
|
| if (reference < 0 || reference > 7) {
|
| e = BCExceptionReferenceMustBeBetween0And7;
|
| - BC_EXCEPTION_CHECK_ReturnValue(e, NULL);
|
| + BC_EXCEPTION_CHECK_ReturnValue(e, nullptr);
|
| }
|
| - return (CBC_QRDataMask*)(*DATA_MASKS)[reference];
|
| + return (*DATA_MASKS)[reference];
|
| }
|
| +
|
| class DataMask000 : public CBC_QRDataMask {
|
| public:
|
| FX_BOOL IsMasked(int32_t x, int32_t y) { return ((x + y) % 2) == 0; }
|
|
|