diff options
author | David Tardon <dtardon@redhat.com> | 2018-03-25 16:42:46 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2018-03-25 16:42:46 +0200 |
commit | 26ea6f33a413861a4764bbfae6f244ec38f7bad8 (patch) | |
tree | 1971ae06ea684c213d907dbac18895aa6af35226 | |
parent | 8a3b290280fe07a990d7a84b21a0cdc5f28d1c2f (diff) |
use unique_ptr for text xform
Change-Id: I2dacd0bfe4024055e9233730ff6485c8631f6a48
-rw-r--r-- | src/lib/VDXParser.cpp | 14 | ||||
-rw-r--r-- | src/lib/VSDParser.cpp | 6 | ||||
-rw-r--r-- | src/lib/VSDStencils.cpp | 8 | ||||
-rw-r--r-- | src/lib/VSDStencils.h | 2 | ||||
-rw-r--r-- | src/lib/VSDXMLParserBase.cpp | 2 | ||||
-rw-r--r-- | src/lib/VSDXParser.cpp | 14 |
6 files changed, 20 insertions, 26 deletions
diff --git a/src/lib/VDXParser.cpp b/src/lib/VDXParser.cpp index a81e5bc..0e5cc1b 100644 --- a/src/lib/VDXParser.cpp +++ b/src/lib/VDXParser.cpp @@ -613,7 +613,7 @@ void libvisio::VDXParser::readTxtXForm(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinX, reader); } break; @@ -621,7 +621,7 @@ void libvisio::VDXParser::readTxtXForm(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinY, reader); } break; @@ -629,7 +629,7 @@ void libvisio::VDXParser::readTxtXForm(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->width, reader); } break; @@ -637,7 +637,7 @@ void libvisio::VDXParser::readTxtXForm(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->height, reader); } break; @@ -645,7 +645,7 @@ void libvisio::VDXParser::readTxtXForm(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinLocX, reader); } break; @@ -653,7 +653,7 @@ void libvisio::VDXParser::readTxtXForm(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinLocY, reader); } break; @@ -661,7 +661,7 @@ void libvisio::VDXParser::readTxtXForm(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->angle, reader); } break; diff --git a/src/lib/VSDParser.cpp b/src/lib/VSDParser.cpp index fabb9a3..673cc93 100644 --- a/src/lib/VSDParser.cpp +++ b/src/lib/VSDParser.cpp @@ -1167,9 +1167,7 @@ void libvisio::VSDParser::readXForm1D(librevenge::RVNGInputStream *input) void libvisio::VSDParser::readTxtXForm(librevenge::RVNGInputStream *input) { - if (m_shape.m_txtxform) - delete m_shape.m_txtxform; - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); input->seek(1, librevenge::RVNG_SEEK_CUR); m_shape.m_txtxform->pinX = readDouble(input); input->seek(1, librevenge::RVNG_SEEK_CUR); @@ -1317,7 +1315,7 @@ void libvisio::VSDParser::readShape(librevenge::RVNGInputStream *input) m_shape.m_foreign = make_unique<ForeignData>(*(tmpShape->m_foreign)); m_shape.m_xform = tmpShape->m_xform; if (tmpShape->m_txtxform) - m_shape.m_txtxform = new XForm(*(tmpShape->m_txtxform)); + m_shape.m_txtxform = make_unique<XForm>(*(tmpShape->m_txtxform)); m_shape.m_tabSets = tmpShape->m_tabSets; m_shape.m_text = tmpShape->m_text; m_shape.m_textFormat = tmpShape->m_textFormat; diff --git a/src/lib/VSDStencils.cpp b/src/lib/VSDStencils.cpp index ba7f9be..192114c 100644 --- a/src/lib/VSDStencils.cpp +++ b/src/lib/VSDStencils.cpp @@ -15,7 +15,7 @@ libvisio::VSDShape::VSDShape() m_masterShape(MINUS_ONE), m_shapeId(MINUS_ONE), m_lineStyleId(MINUS_ONE), m_fillStyleId(MINUS_ONE), m_textStyleId(MINUS_ONE), m_lineStyle(), m_fillStyle(), m_textBlockStyle(), m_charStyle(), m_charList(), m_paraStyle(), m_paraList(), m_tabSets(), m_text(), m_names(), - m_textFormat(libvisio::VSD_TEXT_UTF16), m_nurbsData(), m_polylineData(), m_xform(), m_txtxform(nullptr), + m_textFormat(libvisio::VSD_TEXT_UTF16), m_nurbsData(), m_polylineData(), m_xform(), m_txtxform(), m_xform1d(), m_misc(), m_layerMem() { } @@ -69,9 +69,7 @@ libvisio::VSDShape &libvisio::VSDShape::operator=(const libvisio::VSDShape &shap m_nurbsData = shape.m_nurbsData; m_polylineData = shape.m_polylineData; m_xform = shape.m_xform; - if (m_txtxform) - delete m_txtxform; - m_txtxform = shape.m_txtxform ? new XForm(*(shape.m_txtxform)) : nullptr; + m_txtxform.reset(shape.m_txtxform ? new XForm(*(shape.m_txtxform)) : nullptr); m_xform1d.reset(shape.m_xform1d ? new XForm1D(*shape.m_xform1d) : nullptr); m_misc = shape.m_misc; m_layerMem = shape.m_layerMem; @@ -82,8 +80,6 @@ libvisio::VSDShape &libvisio::VSDShape::operator=(const libvisio::VSDShape &shap void libvisio::VSDShape::clear() { m_foreign = nullptr; - if (m_txtxform) - delete m_txtxform; m_txtxform = nullptr; m_xform1d = nullptr; diff --git a/src/lib/VSDStencils.h b/src/lib/VSDStencils.h index 7be7063..01d2f4f 100644 --- a/src/lib/VSDStencils.h +++ b/src/lib/VSDStencils.h @@ -53,7 +53,7 @@ public: std::map<unsigned, NURBSData> m_nurbsData; std::map<unsigned, PolylineData> m_polylineData; XForm m_xform; - XForm *m_txtxform; + std::unique_ptr<XForm> m_txtxform; std::unique_ptr<XForm1D> m_xform1d; VSDMisc m_misc; VSDName m_layerMem; diff --git a/src/lib/VSDXMLParserBase.cpp b/src/lib/VSDXMLParserBase.cpp index 48d2741..c78b872 100644 --- a/src/lib/VSDXMLParserBase.cpp +++ b/src/lib/VSDXMLParserBase.cpp @@ -969,7 +969,7 @@ void libvisio::VSDXMLParserBase::readShape(xmlTextReaderPtr reader) m_shape.m_foreign = make_unique<ForeignData>(*(tmpShape->m_foreign)); m_shape.m_xform = tmpShape->m_xform; if (tmpShape->m_txtxform) - m_shape.m_txtxform = new XForm(*(tmpShape->m_txtxform)); + m_shape.m_txtxform = make_unique<XForm>(*(tmpShape->m_txtxform)); m_shape.m_geometries = tmpShape->m_geometries; m_shape.m_charList = tmpShape->m_charList; m_shape.m_paraList = tmpShape->m_paraList; diff --git a/src/lib/VSDXParser.cpp b/src/lib/VSDXParser.cpp index e2c8087..153e464 100644 --- a/src/lib/VSDXParser.cpp +++ b/src/lib/VSDXParser.cpp @@ -994,7 +994,7 @@ void libvisio::VSDXParser::readShapeProperties(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinX, reader); } break; @@ -1002,7 +1002,7 @@ void libvisio::VSDXParser::readShapeProperties(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinY, reader); } break; @@ -1010,7 +1010,7 @@ void libvisio::VSDXParser::readShapeProperties(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->width, reader); } break; @@ -1018,7 +1018,7 @@ void libvisio::VSDXParser::readShapeProperties(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->height, reader); } break; @@ -1026,7 +1026,7 @@ void libvisio::VSDXParser::readShapeProperties(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinLocX, reader); } break; @@ -1034,7 +1034,7 @@ void libvisio::VSDXParser::readShapeProperties(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->pinLocY, reader); } break; @@ -1042,7 +1042,7 @@ void libvisio::VSDXParser::readShapeProperties(xmlTextReaderPtr reader) if (XML_READER_TYPE_ELEMENT == tokenType) { if (!m_shape.m_txtxform) - m_shape.m_txtxform = new XForm(); + m_shape.m_txtxform = make_unique<XForm>(); ret = readDoubleData(m_shape.m_txtxform->angle, reader); } break; |