[glom] LayoutItem: Use std::unique_ptr<> for m_positions.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom] LayoutItem: Use std::unique_ptr<> for m_positions.
- Date: Fri, 5 Feb 2016 07:56:08 +0000 (UTC)
commit 604bf501ea5e9b6bf833c440c07963927bcf59c6
Author: Murray Cumming <murrayc murrayc com>
Date: Thu Feb 4 22:35:08 2016 +0100
LayoutItem: Use std::unique_ptr<> for m_positions.
glom/libglom/data_structure/layout/layoutitem.cc | 16 +++++-----------
glom/libglom/data_structure/layout/layoutitem.h | 2 +-
2 files changed, 6 insertions(+), 12 deletions(-)
---
diff --git a/glom/libglom/data_structure/layout/layoutitem.cc
b/glom/libglom/data_structure/layout/layoutitem.cc
index a6ffa02..97e81fb 100644
--- a/glom/libglom/data_structure/layout/layoutitem.cc
+++ b/glom/libglom/data_structure/layout/layoutitem.cc
@@ -64,8 +64,7 @@ bool LayoutItem::PrintLayoutPosition::operator==(const LayoutItem::PrintLayoutPo
LayoutItem::LayoutItem()
: m_editable(true),
- m_display_width(0),
- m_positions(0)
+ m_display_width(0)
{
m_translatable_item_type = enumTranslatableItemType::LAYOUT_ITEM;
}
@@ -73,16 +72,14 @@ LayoutItem::LayoutItem()
LayoutItem::LayoutItem(const LayoutItem& src)
: TranslatableItem(src),
m_editable(src.m_editable),
- m_display_width(src.m_display_width),
- m_positions(0)
+ m_display_width(src.m_display_width)
{
if(src.m_positions)
- m_positions = new PrintLayoutPosition(*(src.m_positions));
+ m_positions = std::make_unique<PrintLayoutPosition>(*(src.m_positions));
}
LayoutItem::~LayoutItem()
{
- delete m_positions;
}
LayoutItem& LayoutItem::operator=(const LayoutItem& src)
@@ -95,11 +92,8 @@ LayoutItem& LayoutItem::operator=(const LayoutItem& src)
m_editable = src.m_editable;
m_display_width = src.m_display_width;
- delete m_positions;
- m_positions = 0;
-
if(src.m_positions)
- m_positions = new PrintLayoutPosition(*(src.m_positions));
+ m_positions = std::make_unique<PrintLayoutPosition>(*(src.m_positions));
return *this;
}
@@ -161,7 +155,7 @@ void LayoutItem::set_display_width(guint value)
void LayoutItem::instantiate_positions() const
{
if(!m_positions)
- m_positions = new PrintLayoutPosition();
+ m_positions = std::make_unique<PrintLayoutPosition>();
}
void LayoutItem::get_print_layout_position(double& x, double& y, double& width, double& height) const
diff --git a/glom/libglom/data_structure/layout/layoutitem.h b/glom/libglom/data_structure/layout/layoutitem.h
index fcae596..15424f9 100644
--- a/glom/libglom/data_structure/layout/layoutitem.h
+++ b/glom/libglom/data_structure/layout/layoutitem.h
@@ -110,7 +110,7 @@ private:
bool m_split_across_pages;
};
- mutable PrintLayoutPosition* m_positions;
+ mutable std::unique_ptr<PrintLayoutPosition> m_positions;
};
} //namespace Glom
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]