summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2018-03-25 16:42:46 +0200
committerDavid Tardon <dtardon@redhat.com>2018-03-25 16:42:46 +0200
commit26ea6f33a413861a4764bbfae6f244ec38f7bad8 (patch)
tree1971ae06ea684c213d907dbac18895aa6af35226
parent8a3b290280fe07a990d7a84b21a0cdc5f28d1c2f (diff)
use unique_ptr for text xform
Change-Id: I2dacd0bfe4024055e9233730ff6485c8631f6a48
-rw-r--r--src/lib/VDXParser.cpp14
-rw-r--r--src/lib/VSDParser.cpp6
-rw-r--r--src/lib/VSDStencils.cpp8
-rw-r--r--src/lib/VSDStencils.h2
-rw-r--r--src/lib/VSDXMLParserBase.cpp2
-rw-r--r--src/lib/VSDXParser.cpp14
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;