[glom] LayoutWidgetUtils: Use std::unique_ptr<> instead of naked new.



commit 324465e2c13d48fb7e55c5566ca57a7290220fae
Author: Murray Cumming <murrayc murrayc com>
Date:   Fri Feb 5 11:07:18 2016 +0100

    LayoutWidgetUtils: Use std::unique_ptr<> instead of naked new.
    
    I am not very happy with passing the raw pointer to gtkmm's
    attach_to_widget(), but that seems to be the normal use of
    unique_ptr<>::operator*() and unique_ptr<>::get(),
    as long as we don't expect the receiving API to take any
    ownership.

 glom/utility_widgets/layoutwidgetutils.cc |    5 ++---
 glom/utility_widgets/layoutwidgetutils.h  |    2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/glom/utility_widgets/layoutwidgetutils.cc b/glom/utility_widgets/layoutwidgetutils.cc
index 73844df..577ce80 100644
--- a/glom/utility_widgets/layoutwidgetutils.cc
+++ b/glom/utility_widgets/layoutwidgetutils.cc
@@ -29,8 +29,7 @@
 namespace Glom
 {
   
-LayoutWidgetUtils::LayoutWidgetUtils() :
-  m_pPopupMenuUtils(nullptr)
+LayoutWidgetUtils::LayoutWidgetUtils()
 {
   //Derived class's constructors must call this:
   //setup_util_menu(this);
@@ -53,7 +52,7 @@ void LayoutWidgetUtils::setup_util_menu(Gtk::Widget* widget)
   menu->append(_("Properties"), "context.properties");
   menu->append(_("_Delete"), "context.delete");
 
-  m_pPopupMenuUtils = new Gtk::Menu(menu);
+  m_pPopupMenuUtils = std::make_unique<Gtk::Menu>(menu);
   m_pPopupMenuUtils->attach_to_widget(*widget);
 #endif
 }
diff --git a/glom/utility_widgets/layoutwidgetutils.h b/glom/utility_widgets/layoutwidgetutils.h
index 48e7044..04247f8 100644
--- a/glom/utility_widgets/layoutwidgetutils.h
+++ b/glom/utility_widgets/layoutwidgetutils.h
@@ -39,7 +39,7 @@ public:
 protected:
   void setup_util_menu(Gtk::Widget* widget);
 
-  Gtk::Menu* m_pPopupMenuUtils;
+  std::unique_ptr<Gtk::Menu> m_pPopupMenuUtils;
 #ifndef GLOM_ENABLE_CLIENT_ONLY
   virtual void on_menu_properties_activate();
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]